一、应用场景区别
RabbitMQ
RabbitMQ遵循AMQP协议,由内在高并发的erlanng语言开发,用在实时的对可靠性要求比较高的消息传递上,适合企业级的消息发送订阅,也是比较受到大家欢迎的。
Kafka
kafka是Linkedin于2010年12月份开源的消息发布订阅系统,它主要用于处理活跃的流式数据,大数据量的数据处理上。常用日志采集,数据采集上。
ActiveMQ
- 异步调用
- 一对多通信
- 做多个系统的集成,同构、异构
- 作为RPC的替代
- 多个应用相互解耦
- 作为事件驱动架构的幕后支撑
- 为了提高系统的可伸缩性
二、Kafka和RabbitMQ的选择