常见解决问题
异步处理流量控制服务解耦
常使用的服务
RabbitMQ
老牌的消息队列,使用 Erlang 开发;
优点:轻量级,迅捷;缺点:对消息堆积的支持不好,大量数据堆积会导致性能急剧下降;吞吐量几万到十几万;
RocketMQ
阿里巴巴开发后来捐给 Apache,使用 java 开发;
优点:性能,稳定,可靠,经历过“双十一” 考验,值得信赖;毫秒级的相应;吞吐量几十万消息;缺点:生态集成和兼容程度略逊一筹;适用场景:订单系统,低延迟,金融级别稳定性;
kafka(消息系统,分布式系统)
Linkin 最早开发,使用 scala 和 java 语言开发。设计目的为处理海量日志。
优点:高并发,几十万级吞吐量,延迟控制在 ms 以内;可用性高,兼容性好;可靠性高,可以做到0丢失;吞吐量几十万调消息缺点:有一定的延迟,不适合在线业务场景;适用场景:处理海量消息,收集日志,前端买点
ActiveMQ
优点:缺点:吞吐量低;无分片功能;社区不过越
ZeroMQ
严格说不是消息,是基于消息队列的多线程网络库,如果考虑消息队列的功能集成到系统中可以考虑。
Pulsar
Yahoo 开发成长期,可以关注。