Привет всем.

Настал момент когда захотелось сделать систему состоящую более чем из одного сервера. Понимаю что данных систем может быть множество по идее, но задача стоящая передо мною проще - сделать распределенную систему серверов ,каждый из которых работает независимо от других, но между ними существует платформонезависимый обмен данными. Под "платформонезависимым обменом" подразумевается обмен реализованный средствами самой СУБД. Данный взгляд даст возможность с минимальными затратами реализовать кластерную систему доступа к данным, ну и загрузить некоторые сервера обсчетом например, в то время как другие будут вполне свободны от расчетов. При таком подходе дополнительный сервер будет простой настройкой SSH и backup/restore базы.

Вкратце как мыслится на данный момент техническая часть (НЕ логика, логика это разговор отдельный и в данном посте не рассматривается :-) ):

Начальное состояние кластерной системы - каждый сервер работает независимо. Имеет в принципе свой набор данных для работы. Сами наборы данных периодически синхронизируются.

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

2. Пишется ХП с реализацией логики репликации данных.

3. Чтобы репликация не делалась одновременно можно сделать просмотр MON$STATEMENT на ведомом сервере, ну или как-то еще можно сделать проверку выполняется репликация с текущего сервера на ведомый или нет.

4. Запускается с помощью крона на текущем сервере ХП с логикой репликации.

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

P.S. 2DK - вебинар слушал, фразу про то что "и даже, о ужас, пытатсья организовывать методы репликации ...." слышал :-) Вопрос главное КАК сделать правильно :-)

--
Андрей Кручинин
http://www.med-zakaz.ru
Для особо извращенных - http://мед-заказ.рф :-)

Ответить