消息队列这么多,你是怎么做技术选型的呢?技术选型的标准是什么?
技术选型的标准
- 必须是开源产品,有Bug可以修改源码。
- 必须是近几年流行,社区活跃度高,遇到Bug方便解决。
- 与周边的生态系统兼容和集成度要高。
- 消息传递可靠;确保消息不丢失,支持集群,有良好的性能且满足大多数场景的性能要求。
RabbitMq
RocketMq
kafka
第二梯队消息队列
总结
- 若对消息队列的功能和性能没有很高的要求,建议用RabbitMq,开箱即用。
- RocketMq主要场景是处理在线业务,例如交易系统用消息队列传递订单,RocketMQ 的低延迟和金融级的稳定性是你需要的。
- kafka 主要场景处理海量的消息,日志收集、监控信息或是前端的埋点这类数据,或应用场景大量使用了大数据、流计算相关的开源产品,kafka是最合适不过的了。