Mysql удаленная синхронизация - PullRequest
1 голос
/ 08 октября 2010

В настоящее время у нас есть приложение, расположенное на удаленном сервере, и наш колл-центр использует это приложение для выполнения транзакций клиентов.

Мы планируем установить звездочку на локальном сервере, чтобы помочь нам со всеми маршрутизацией и записью вызовов, чтобы звездочка работала гладко, мы должны переместить наше приложение с удаленного сервера на локальный.

Будет легко перенести все данные на локальный сервер и выполнять транзакции локально, но у пользователей также есть возможность совершать транзакции онлайн, что приведет к попаданию в базу данных удаленного сервера.

Причина, по которой у нас все еще есть удаленное приложение, из-за надежной инфраструктуры и решения для резервного копирования, предоставляемого rackspace.

Если мы перемещаем приложение на локальный сервер, я ищу надежное решение для синхронизации удаленных и локальных баз данных, чтобы мы могли обрабатывать как локальные, так и онлайн-транзакции.

Ответы [ 2 ]

2 голосов
/ 08 октября 2010

Почему бы не использовать mysql master-master replication и хранить окончательные данные на обоих концах? (Обратите внимание, что вам придется немного почитать об auto_increment_increment и auto_increment_offset)

1 голос
/ 08 октября 2010

Symcbean ответ в основном правильный. Я бы добавил эту статью в качестве хорошей отправной точки для понимания репликации мастер-мастер. Кроме того, я бы порекомендовал High Performance MySQL в качестве хорошего справочника для более глубокого понимания методов и проблем.

Есть некоторые проблемы, с которыми вам придется столкнуться при записи на два неколокализованных сервера MySQL. Вам придется иметь дело с задержкой репликации, поэтому базы данных не обязательно будут полностью синхронизированы, а будут «в конечном итоге согласованными». Кроме того, если обе стороны обновляют содержимое, это может привести к проблемам с целостностью данных. Если ваша система склоняется к INSERT больше, чем UPDATES для операций записи, менее вероятно, что вы столкнетесь с проблемами. Кроме того, если подмножество данных, которые могут быть изменены, как правило, локализуется вокруг одного или другого сервера, вы столкнетесь с меньшим количеством проблем.

В противном случае вы, вероятно, захотите развернуть свое собственное решение, разработанное для конкретных случаев использования вашего приложения.

...