-
Здравствуйте. Есть программа, которая работает с сервером БД. Для создания некого отказоустойчивого решения хотелось бы держать 2 сервера БД, работающих одновременно.
Настроить саму программу на общение с 2-мя БД MS SQL нельзя, настроить репликацию стандартными средствами SQL тоже. Поэтому появилась идея создать программу - некий посредний, релей транзакций. К этой программе будет подключаться стороннее ПО, и все запросу будут редиректиться на 2 сервера одновременно. Ну и желательно все запросу не тупо редиректить, а выбирать, например если запрос на изменение данных (UPDATE, DELETE и т.п.), то отправляет в 2 БД, а если на чтение - то в любой из серверов.
Пытался начать проект с компоненты TCPRelay, пока еще в процессе ее изучения.
Гуру, скажите, пожалуйста, реально ли такое реализовать? Аналогичные решения уже есть, правда не на дельфи и хотелось бы свой функционал (софт например SQLRelay).
Как в теории стать этим relay'ем? К примеру в перенаправлении трафика все просто - схватил все по определенному порту, а потом дружно заворачиваем на другой... но вот в БД все тяжелее, там же ведь все драйверами подключается, трафик наверняка шифруется.
Вообщем прошу подсказать как вообще сие чудо реализовать =)
-
Для отказоустойчивости читайте про зеркалирование. Для распределения нагрузки про кластеризацию.
-
-
> Сергей (25.12.2012 17:52:00) [0]
Если ничего не писать то реально. 2/3 сервера и настройка
|