Понимание шаблонов обмена сообщениями Enterprise Integration
В настоящее время я читаю Шаблоны Enterprise Integration: Книга сообщений.
Но у меня все еще есть трудности с пониманием шаблонов и их приложений, особенно когда я смотрю на существующие реализации, такие как NServiceBus, MassTransit и по-другому RabbitMQ.
http://www.enterpriseintegrationpatterns.com/patterns/messaging/index.html
Например, в разделах Каналы обмена сообщениями есть PointToPoint
, PubSub
А ТАКЖЕ MessageBus
но я на самом деле не понимаю причины MessageBus
против другого типа каналов.
Я пытаюсь работать над пользовательской реализацией как для работы, так и для образовательных целей, и хотя я не хочу получать полнофункциональную библиотеку, я бы хотел, чтобы это было правильно.
Я не смог найти никаких материалов о простой реализации каждого паттерна (или, по крайней мере, о наиболее распространенных) и их соединении.
Например, цель Endpoint
Я понимаю, что это может быть как Receiver
или Sender
так значит это может send(Message)
или же receive()
но тогда какая разница с MessageBus
?
Так что это означает, что я могу подписаться на Endpoint
с subscribe(MessageType, Handler)
?
Я также не очень понимаю, как это связано с системами очередей (такими как RabbitMQ или пользовательская реализация SQL).
Обменивает ли Endpoint сообщения через очередь, ставя из нее в очередь? Это происходит на канале?