Если вы хотите 100% немедленной согласованности, вы можете изучить концепцию функциональной блокировки, где вы будете хранить кошельки, участвующие в одной транзакции, в таблице функциональной блокировки.Таким образом, каждая транзакция в начале будет проверять, есть ли функциональная блокировка на кошельке, если это так, подождите, пока она не получит функциональную блокировку, в противном случае вставьте в функциональную блокировку и продолжите транзакцию.Добавление записей в таблицу функциональных блокировок должно быть атомарным со своим собственным коммитом.И в конце транзакции удалите блокирующие записи.
Если вы ищете возможную согласованность (согласованность с задержкой), вы можете посмотреть в очереди обновления транзакций, и демоны могут обрабатывать поставленные в очередь элементы один за другим.снова используя концепцию функциональной блокировки, чтобы избежать того, что несколько демонов обрабатывают транзакции для одного и того же кошелька.