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