Я создаю Node.js API, состоящий из нескольких микросервисов.
Каждый микросервис отвечает за одну или несколько функций моего приложения. Однако мои данные структурированы в несколько баз данных, каждая из которых имеет несколько коллекций.
Теперь мне нужен один сервис для выполнения операций atomi c в нескольких базах данных. Если бы все происходило в одной базе данных, я бы использовал обычную транзакцию. Однако я не знаю, как это сделать с несколькими базами данных или это вообще возможно?
Пример :
Одно из микросервисов позаботится создания пользователей. Пользователь должен быть создан внутри двух баз данных. Однако это должно происходить атомарно, т. Е. Если пользователь создан, он должен быть создан в обеих базах данных.
ОБНОВЛЕНИЕ : Официальные документы MongoDB указывают следующее:
С распределенными транзакциями транзакции можно использовать для нескольких операций, коллекций, баз данных, документов и шардов.
Я не нашел ничего о том, как выполнять распределенные транзакции с mon goose.
Я был бы очень рад, если бы кто-нибудь дал мне некоторые разъяснения по этой теме c.