定义
MQ:Message Quene,消息队列。
传统地,a 系统同步调用 b 系统,超时或堵塞则报错。
a 系统——>MQ——>b 系统
解决 a 与 b 的通信与耦合。
常见消息队列
Kafka
Apache 下,基于 scala,高性能,分布式。
- 快速持久化
- 高吞吐(市面上最高)
- 高堆积
- 完全分布式
- 支持 Hadoop
RocketMQ
以前属于阿里巴巴,现在属于 Apache。前身 Metaq。
- 严格消息顺序
- 消息拉取模式
- 订阅者水平扩展能力
- 实时消息订阅
- 支持事务消息
- 亿级消息堆积能力
- 吞吐量也很高(仅次于 kafka)
RabbitMQ
开源,支持的协议很多。
对路由、负载均衡、消息持久化支持很好。
吞吐量略低。