Распределенные хранилища данных, такие как хранилище данных ядра приложения, не имеют глобальной последовательности - буквально невозможно определить, была ли сущность A записана на сервер A до того, как сущность B была записана на сервер B, если эти события происходят достаточно близко друг к другу, если только у вас нет единственной машины, которая опосредует все транзакции и сериализует их, что накладывает жесткую верхнюю границу на то, насколько масштабируемой может быть ваша система.
Для вашей реальной практической проблемы самым простым решением было бы назначить метку времени модификацииДля каждой записи и каждый раз, когда вам нужно синхронизировать, ищите записи, более новые, чем (эта временная метка) - (epsilon), где epsilon - это короткий интервал времени, который больше, чем ожидаемая разница в синхронизации времени между серверами (примерно 10 секунддолжно быть достаточно ).Ваш клиент может затем отбросить любые дублирующиеся записи, которые он получает.