Как мы все знаем, на основе контента маршрутизация неодобрительно. Маршрутизация должна выполняться с использованием типа сообщения. Но как бы вы решали ситуацию, когда серверы, слушая очередь, распространяются в регионах ЕС, и мы хотим доставить эти сообщения в соответствующий регион.Альтернатива маршрутизации на основе контента для разделения задач по регионам в мире
Похоже, что классический сценарий для маршрутизации контента на основе: путем добавления «область поля (как в примере виджет/гаджет в Enterprise Integration Pattern книги)
Благодарности
----- ------- Edit 31/10/15 ----------------
в ответ на @mookid, в отношении ребуса предложения решения:
До недавнего времени у меня было представление о том, что команды плохие («разрушает архитектуру |»), потому что я предположил, что sendin g до конечной точки означает конкретный потребитель (по ip-адресу). Поэтому я предпочел использовать события для всего, что затем вызвало проблемы с решением проблемы регионов.
Но теперь, когда я думаю об этом, я могу использовать интерфейс IOrderPlaced и создать 2 конечных точки для каждого сообщения: IOrderPlaced_USA, IORderPlaced_EU. имя конечной точки будет помещено в app.config, и поэтому серверы США будут иметь другой app.config, чем серверы ЕС.
это позволит мне использовать один и тот же сервер RabbitMQ для обоих регионов, но не разрешит мне отправлять сообщения из ЕС в США - это может быть приемлемо Мое понимание выше верно?
У меня возникли проблемы с размещением всех деталей, не могли бы вы представить свое мнение о том, как сравнивается предлагаемое вами решение?
Благодаря
И где машины, которые отправляют сообщения? –
Я не уверен, что понял, но я скажу это: У нас есть серверы в ЕС и другие серверы в США. у нас будет координатор (кто будет обрабатывать саги), который будет находиться в одном из этих регионов (еще не решен) –
Вы делаете несколько заявлений и предположений о том, что конкретные сообщения в регионе должны быть доставлены в соответствующий регион и тот факт, что команды плохие. Последнее по умолчанию не соответствует действительности, но, возможно, в конкретных сценариях другой вариант может быть лучше. Это не черный и белый факт. Я много использую команды, но то же самое касается событий. Что еще более важно, зачем вам нужны конкретные сообщения региона? Что это за функциональное/логическое рассуждение? –