Безопасный перенос значений между базами данных
Я сделал некоторый поиск, но не могу найти правильные условия для поиска.
Существует две полностью разделенные, но надежные базы данных. У них ненадежное (но безопасное) соединение. Обе базы данных работают на разных серверах с некоторой вероятностью отказа сервера.
Обе базы данных работают с деньгами и нуждаются в "переводе" некоторой суммы с одного счета (база данных № 1, сервер № 1) на другой (база данных № 2, сервер № 2).
Это должно быть сделано так, чтобы это никогда не приводило к "потерянным деньгам" или "дублированным деньгам", даже если оба сервера выходят из строя и восстанавливаются в худший момент.
Я думаю, что кто-то универсальный алгоритм должен быть для этого.
1 ответ
Вы правы, вот такой алгоритм. Это называется двухфазным коммитом. Обычно требуется, чтобы обе СУБД были одинаковыми.