Как жить с итоговой согласованностью и как объяснять её продуктовой команде?
Итоговая согласованность означает: если новых изменений не поступает, все копии данных рано или поздно сойдутся. Практический вопрос не в том, сойдутся ли, а насколько велико окно рассогласования и что видит пользователь внутри него. Продукту это объясняют не терминами, а сценарием: после оплаты статус обновится за 2-3 секунды, и всё это время интерфейс честно показывает пометку об обработке. Обязательный минимум — чтение своих записей: свои изменения пользователь должен видеть сразу, поэтому его читают с лидера или с догнавшей реплики. Полезна ещё монотонность чтения — не показывать данные старше уже показанных. Недопустима итоговая согласованность там, где по устаревшим данным принимается необратимое решение: списание денег, выдача прав, продажа последнего места.