Mysql Отложенная репликация или Коммивояжеры с Mysql-slave
Недавно мне поставили такую задачу: Есть много коммивояжеров с ноутбуками которые разъезжают по стране и что-то кому-то впаривают продают. Т.к. им нужны актуальные данные о наличии товара и ценах, время от времени они подключаются к центральному серверу через интернет и сливают себе обновленные данные. Условия к задаче: — Частота и периодичность выхода на связь коммивояжеров неизвестна, ровно как и дилтельность. — Должно все работать максимально надежно, потому как коммивояжеры они такие «коммивояжеры». — Решение должно быть на базе Mysql master-slave replication. Выводы из условия: — Для надежности, на стороне клиента (slave) минимум настроек, никаких скриптов по крону, все должно быть внутри mysql. — Т.к. неизвестно когда и с какой периодичностью будут подключаться к master базе коммивояжеры, binlog на мастере нужно хранить так долго пока все slave не скачают его себе. Решение: — Информировать мастер, какие slave и сколько уже «скачали». А точнее в какой позиции самый «ленивый» slave. — Все остальные binlog можно смело удалять.А теперь в картинках…