Как обрабатывать отказоустойчивость в кластере Sharded Mongo при обновлении более 1 документа - PullRequest
0 голосов
/ 05 июня 2019

Mongo В настоящее время не выполняется транзакция в защищенном кластере, когда мы обновляем более одного документа.В таких случаях, как мы должны обрабатывать частичные сбои.Есть какой-либо рекомендуемый образец для такого рода проблем.

1 Ответ

0 голосов
/ 06 июня 2019

Транзитная транзакция кластера - это функция, которая появится в предстоящей MongoDB 4.2: Распределенные транзакции .

Для более старых версий MongoDB вам нужно будет смоделировать это поведение, используя two.-фазный коммит .В руководстве MongoDB есть шаблон для этого: Выполнение двухфазных коммитов .

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

...