
246 |
附录
一个单独的实体,可以独立于生产者或消费者进行构建和维护。工作流的优
势在于将生产者(或多个生产者)和消费者(或多个消费者)的一系列复杂
动作的解耦。
由于队列、日志和工作流通常由向某种消费者提供事件流的一方来创建和管
理,我将它们视为一种生产技术。然而,队列完全有可能由非事件源的一方
运行。如医疗记录服务等第三方,可能使用队列或日志来反映来自外部生产
者的合并数据流。在这种情况下,它们将是原始事件生产者的消费者,但却
是最终事件消费者的生产者。
关键承诺
提供一种机制,以便在消费者处理之前能够存储和分发事件。
沃德利地图
如今,大多数消息队列和日志总线都是基于流行的开源项目,或作
为服务交付。队列会牢牢地位于商品
/
实用程序领域。
示例
消息队列
(
RabbitMQ
、
MuleSoft
、
ApacheActive MQ
、
Amazon MQ
、
Azure
Service Bus
、
Azure Queue Storage
、
Azure Event Grid
、
Google CloudPub/Sub
等
)
无论交换的消息是否用于表示事件,消息队列都是应用程序之间异
步通信的一个非常重要的方面。队列的应用范围从金融系统到基础
设施运营自动化,再到工业监控系统都有涉及。
消息队列也已经存在了很久。早期的大型计算系统将使用消息路由
和队列,以使应用程序能够在进程之间和随着时间的推移而相互通
信。随着
20
世纪
90
年代的客户端
–
服务器应用程序架构的出现,
许多公司发布了队列产品,那是一种可以通过网络处理应用程序之
间的消息的队列产品。