消息队列和消息总线有什么区别?


消息队列
消息队列是从一个应用程序接收一堆消息,并在先进先出(FIFO)的基础上将它们传递给一个或多个其他应用程序。
消息队列由发布者和消费者组成。我们所说的发布者将消息留给队列。消费者也接收它们并进行处理。这些是用于分布式系统的常见模式。
这些是最知名的,被用作消息队列;RabbitMQ、Kafka、ActiveMQ、AmazonSQS、IronMQ、Redis。

消息总线
消息总线不保证先进先出(FIFO)。订阅消息总线的订阅者可以在不知道发布者的情况下接收已发布的消息。这些模式也称为 pub/sub。
消息由发送 API 发布到总线,然后任何订阅了任何类型消息的接收 API 都会收到相应的消息。
这些也是最知名的,被用作消息队列;Microsoft Azure 服务总线、Oracle 企业服务总线、Rabbitmq(MassTransit)