消息中间件具备哪些特性
- 消息协议(JMS、AMQP、MQTT、kafka、OpenMessage)
- 消息持计划机制
- 消息分发机制
- 高可用设计
- 高可靠设计
消息中间件的特点和选型
ActiveMq (支持的多)
老牌消息队列,支持很多协议和功能,但是性能相对其他协议较低。持久化支持存储数据库(其他MQ本身仅支持文件系统)。
RabbitMq(可靠)
支持AMQP(高级队列协议)、MQTT协议(支持MQTT协议,C语言编写,很快,但是无法持久化。适用与带宽小的车载手机等设备适用),主要是为了解决消息的可靠性而出现。并发性没有kafka高,承受的吞吐量有限(10W QPS )。
RocketMq(快)
支持OpenMessage协议,结构简单,解析快,有事务设计,有持久化设计,受协议限制,无法传出大数据。
kafka (大)
协议是基于TCP二进制传输。支持大数据传输,不支持事务设计。