我目前正在阅读 Enterprise Integration Patterns: Messaging 这本书。
但是我仍然很难理解模式及其应用程序,尤其是在查看现有实现时,例如 NServiceBus、MassTransit 和另一种方式的 RabbitMQ。
http://www.enterpriseintegrationpatterns.com/patterns/messaging/index.html
例如,在“消息传递渠道”部分中,有PointToPoint
, PubSub
AND但我并没有真正了解与其他类型渠道相比MessageBus
背后的原因。MessageBus
我正在尝试为工作和教育目的进行自定义实现,虽然我不想获得功能齐全的库,但我想适当地使用它。
我找不到任何关于每种模式(或至少是最常见的模式)的简单实现并将它们连接在一起的材料。
例如,Endpoint
我理解它的目的是既可以是 a 也可以是Receiver
aSender
所以这意味着它可以send(Message)
或者receive()
但是,与 有什么区别MessageBus
?
所以这意味着我可以订阅一个Endpoint
with subscribe(MessageType, Handler)
?
我也没有真正看到它如何与队列系统(例如 RabbitMQ 或自定义 SQL 实现)连接。
Endpoint 是否通过队列从队列中入队/出队来交换消息?这会发生在 Channel 中吗?