История изменений
Исправление ya-betmen, (текущая версия) :
Это значит, что каждый инстанс должен однозначно знать состав сети мастеров, и отслеживать каждый мастер-инстанс.
возможна ситуация, когда в этом отвалившемся сегменте «проснулся» давно не работавший хост, и выстрелил на мастер из своего кеша старые данные
Тогда придётся заводить таблицу с данными репликации, т.е. на каждом хосте хранить в таблице адрес мастера и данные о последней синхронизации с ним. Соответственно синхронизацию вести в 2 этапа: сначала синк хвостов а ля днс (его кстати можно делать чаще), затем синк данных. Соответственно новый мастер достаточно будет записать хотя бы один раз. Есть конечно обратный вариант когда сам хост рассылает себя остальным.
Выходит всё как-то сложно по виду, но по сути любое решение твоей задачи в конце концов сведёт я именно к такому. Если не выделять специализированный мастер.
Исходная версия ya-betmen, :
Это значит, что каждый инстанс должен однозначно знать состав сети мастеров, и отслеживать каждый мастер-инстанс.
возможна ситуация, когда в этом отвалившемся сегменте «проснулся» давно не работавший хост, и выстрелил на мастер из своего кеша старые данные
Тогда придётся заводить таблицу с данными репликации, т.е. на каждом хосте хранить в таблице адрес мастера и данные о последней синхронизации с ним. Соответственно синхронизацию вести в 2 этапа: сначала синк хвостов а ля днс (его кстати можно делать чаще), затем синк данных. Соответственно новый мастер достаточно будет записать хотя бы один раз. Есть конечно обратный вариант когда сам хост рассылает себя остальным.
Выходит всё как-то сложно по виду, но по сути любое решение твоей задачи в конце концов сведёт я именно к такому.