Привет Андрей. Отличная статья! В последнее время я много размышляю над этими вопросами, а также написал несколько статей (Infoq: Know the Flow! Микросервисы и хореография событий, Трансформация команд событий в микросервисных архитектурах и DDD или Почему для совместной работы сервисов нужна хореография И оркестровка) . Я думаю, что мы единодушны в вопросе не подходит для всех и в случае с гибридными архитектурами. Мне нравится четкое изложение концепций в этом посте, спасибо! Я думаю, что есть одна область для улучшения: всякий раз, когда я использую оркестровку или какой-либо координатор, мне не нужно выполнять синхронные вызовы (это выглядит так с D, E и F). А координатор может быть встроен в какой-нибудь Сервис (как в A), а затем также просто прослушивать события и отправлять команды и события в поток событий. Поэтому я бы нарисовал его немного по-другому:

Таким образом, вы можете еще больше уменьшить недостатки.

Последнее замечание: в настоящее время у нас идет большая дискуссия о формулировках, поскольку многие люди в сообществе микросервисов избегают оркестровки, например, из-за предупреждений в книге Сэма Ньюмана. Мне нравится координатор вместо оркестровки! Еще мне понравилась реактивная оркестровка. Лично я также пробую распределенную оркестровку. Так или иначе, я надеюсь, что мы сможем реабилитировать термин оркестровки в сообществе микросервисов, чтобы обеспечить более надежную архитектуру :-)