Обмен данными в среде распределенной системы - PullRequest
0 голосов
/ 25 февраля 2019

У меня есть вопрос относительно обмена данными в распределенной системе environemnt.Обычно я использую сценарий А, т.е.Я отправляю сообщения из системы A в удаленную очередь, такую ​​как Amazon SNS / SQS, и ожидаю, что система B получит сообщение, когда система B запущена и работает.

Я подумал об этом и пришелс альтернативой, что я не уверен, достаточно хорош.По сути, система A теперь отправляет сообщение в локальную очередь, а локальная очередь отправляет сообщение в систему A. Предварительные условия для этого состоят в том, что обе системы A и B запущены и работают, и эта очередь специфична только для системы A, т.е.нет систем C, D, E ..., которые отправляют сообщения в ту же (дублирующуюся) локальную очередь где-нибудь на C, D, E.

Это хорошая альтернатива?

Я также рассматривал сценарий B в качестве плана резервного копирования для сценария A, когда удаленная очередь недоступна и я не хочу потерять сообщение.В этом случае система B будет удаленной очередью.

enter image description here

enter image description here

1 Ответ

0 голосов
/ 25 февраля 2019

Что ж, сценарий C на самом деле таков, каким должен быть и фактически выполняется распределенный обмен сообщениями.Это называется шаблоном исходящие в асинхронной связи.Эти виды шаблонов используются для упругой публикации в шину событий.Это очень похоже на почтовый ящик, где ваш почтовый ящик хранит вашу почту в исходящих до момента доставки.Недостаток заключается в том, что вместо локальной очереди используется постоянное хранилище.

Но вам нужен работник, который будет искать ожидающие сообщения и публиковать их, как только станет доступна очередь.

Подробнее об этом вы можете узнать здесь.

Шаблон исходящих сообщений

Упругая публикация в шине событий

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...