Мутация между двумя микросервисами в Apollo Federation
Я использую Apollo Federation для обработки множества микросервисов GraphQL. Я хочу создать Notificaction, когда за пользователем следили, поэтому мне нужно отправить мутацию из UserService в NotificationService. Как я могу этого добиться?
Заранее спасибо!
1 ответ
Я считаю, что невозможно заставить мутацию работать с множеством микросервисов. Единственное, о чем я могу думать, - это всегда разрешать какое-либо поле в ответ и создавать преобразователь в Notification MS. Но это больше похоже на взлом, чем на архитектурное решение.
Это особенно сделано потому, что apollo не имеет системы транзакций, которая не требуется в случае запросов, но требует мутаций.
Вы должны придерживаться обмена сообщениями по умолчанию между микросервисами, либо шиной событий (например, kafka или rabbitmq), либо простым http api.