- 一、消息中间件简介
- 二、开源消息中间件RabbitMQ
- 三、高吞吐消息中间件Kafka
- 四、Apache消息中间件RocketMQ
一、消息中间件简介
- 维基百科对中间件的描述:面向消息的系统(消息中间件)是在分布式系统中完成消息的发送与接收的基础软件。
- 消息中间件也称消息队列,是指用高效可靠的消息传递机制,进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成。提供消息传递和消息队列模型。
- 消息中间件就是在消息上下游之间进行截断:break it broker。
目前市场上比较流行的消息中间件有RabbitMQ、RockerMQ、Kafka,它们之间的简要比较如下表描述。
| RabbitMQ | RocketMQ | Kafka | |
|---|---|---|---|
| 单机吞吐量 | 1w量级 | 10w量级 | 10w量级 |
| 开发语言 | Erlang | Java | Java和Scala |
| 消息延迟 | 微秒 | 毫秒 | 毫秒 |
| 消息丢失 | 可能性很低 | 参数优化后可以0丢失 | 参数优化后可以0丢失 |
| 消费模式 | 推拉 | 推拉 | 拉取 |
| 主题数量对吞吐量的影响 | 几百上千个主题会对吞吐量有 | 几十上百个主题会极大 | |
| 可用性 | 高(主从) | 很高(主从) | 很高(分布式) |
消息中间件应用场景:异步梳理、流量削峰、限流、缓存、排队、最终一致性、消息驱动等需求的场景都可以使用消息中间件。
二、开源消息中间件RabbitMQ阅读作者文章:开源消息中间件RabbitMQ
三、高吞吐消息中间件Kafka持续更新中
四、Apache消息中间件RocketMQ持续更新中



