Задавайте вопросы, мы ответим
Вы не зашли.
Задача:
Есть несколько (для начала 2 серверов с базой данных MySQL. Сервера расположены в разных городах. На них должна крутится одна база данных. Во всех городах могут добавлять/изменять записи. Необходимо, чтобы базы были в максимально синхронном состоянии при минимизации внешнего трафика. Особ вопрос с ключевыми (SERIAL) полями при создании новых записей в разных городах между синхронизациями баз.
В идеале сервера должны автоматом рассылать изменения другим серверам, при этом не нарушая уникальность ключей, возможно, в пакетном режиме (1,2,3... раз за день). Также должен быть просчитан случай с отвалом каких-либо (всех) серверов (типа пропал внешний инет). При этом локальная работа с базой должна продолжаться, а после подъема канала базы должны засинхронизироваться.
Если кто сталкивался с такими задачами, подскажите plz с каких руководств начинать и поделитесь опытом. Буду _очень_ признателен (впрочем, я думаю, это будет многим интересно). А может есть хаутушка?
Подозреваю, что про многие ньюансы я не упомянул. Но по простой причине, что еще не столкнулся с ними
Неактивен
Насчет ключей - поможет auto_increment_offset, auto_increment_increment
Устанавливаете auto_increment_increment = 2,
на первом сервере auto_increment_offset = 0
на втором сервере auto_increment_offset = 1
На первом сервере будут четные номера создаваться, на втором - нечетные. Далее настраиваете круговую репликацию (то есть репликацию 1 => 2 и репликацию 2 => 1). На этом простая часть заканчивается. Далее надо убедиться, что все запросы приложения не разрушают репликацию, все новые записи вставляются только с auto_increment ключом и написать собственную логику поведения приложения при отказе сервера и логигу восстановления после сбоя.
Неактивен