Найдено результатов: 2

Географически распределённый MySQL

Приветствую all.

Есть желание географически распределить проект, и начать с одной из его состовляющих: MySQL. Интересны ответы тех, кто вплотную работал с этой БД и не в теории знает как работают различные схемы географически распределенной балансировки.

Текущая схема примерно следующая: один веб-сервер и два сервера БД в режиме «master-slave». К одному идут запросы только на чтение, к другому преимущественно на запись, оба сервера БД стоят рядом и соединены кроссом. Есть идея сделать схему немного посложнее и ввести в строй еще несколько серверов в другой стране, при этом настроить репликацию БД. Каналы и там и там хорошие, но задержки уже больше чем при соединении серверов «попа-в-попу». Кто реализовывал такие схемы: что можете сказать?

  • Реально или есть какие-то известные проблемы?
  • Может репликационный трафик можно как-то жать, для экономии канала?
  • Стоит использовать встроенный в MySQL ssl или лучше паковать все в OpenVPN?
  • Какие подводные (или даже вполне надводные) камни встретятся, если к этому еще прибавить master-master?
  • Кто чего скажет о кластерных типах БД в MySQL?


Добавлю, что в первую очередь, естественно интересуют практические знания, чем теоретические.



Средства синхронизации на удаленных серверах БД

В процессе написания проекта, столкнулись с тем, что многим клиентам требовалось передавать заявки и справочники, и собирать данные по деятельности филиалов. А найти решение удовлетворяющее все условия не удалось. Пришли к мысли писать самим.

Какими средствами пользуетесь, учитывая указанные условия (все или любую их комбинацию)?
1. Сервера удалены на большое расстояние (разные города)
2. Нестабильный/узкий канал интернета (например связь с Камчаткой, или Магаданом)
3. Синхронизация данных в обе стороны (а не только сбор данных или рассылка справочников)

Также интересна для каких серверов БД использовались средства синхронизации.

PS. Вопрос родился из желания написать статью «как мы синхронизировали удаленные данные».