为什么要使用消息队列#
- 提高成功率,第三方推送平台不一定稳定,交互过程可能会使得,通过消息中转站可以很方便的实现异步重试,提高成功率
- 实现流量管控:削峰
- 能够更好的协调资源,让重要消息优先享受服务
消息队列的作用#
异步#
消息分发#
削峰#
为什么要用Kafka#
- 从性能上讲,RocketMQ、Kafka达到10万级,相比其它万级消息队列会更高一些,当然对于我们而言万级也够用,因为实际瓶颈在第三方推送;
- 作为消息推送中台,还是希望数据是可靠的,所以从可用性而言,RocketMQ、Kafka更符合我们的需求,因为它们都是分布式的;
- 从主题数目而言,RabbitMQ、RocketMQ在大量topic下具备一些优势,但Kafka也支持上百个topic,在消息推送场景都能满足需要。
主要还是看团队的技术栈,这里我们因为熟悉程度选用了Kafka,如果面试问到,可以说之前团队,普遍都是用Kafka,已有完整的实践和运维经验,故而使用Kafka。
Reply by Email