文章目录:
-
前言
-
如何选择?
-
开发语言
-
延迟队列
-
消息顺序性
-
优先级队列
-
消息留存
-
消息过滤
-
可伸缩行
-
-
小结
-
推荐阅读
前言
我们在工作中经常会用到异步消息,主要使用两种消息模式:
-
消息队列
-
发布/订阅
消息队列:多个生产者可以向同一个消息队列发送消息,但是一个消息只能被一个消费者消费。
发布/订阅:一个消息可以被多个订阅者并发的获取和处理。
Kafka
和 RabbitMQ
都能满足如上的特性,那么我们应该如何选择使用哪一个?这两个 MQ 有什么差异性?在什么样的场景下适合使用 Kafka
,什么场景下适合使用 RabbitMQ
?你是否有这样的疑惑?希望这篇文章能够帮助到你。
如何选择?
开发语言
Kafka:Scala,支持自定义的协议。
RabbitMQ:Erlang,支持 AMQP、MQTT、STOMP 等协议。
延迟队列
如果你有以下这样的需求场