LINUX.ORG.RU

Прозрачное проксирование SQL-запросов.


0

0

Ситуация в следующем. Имеется система постоенная на PostgreSQL. Есть удалённый кластер (на который должны уходить write-запросы) и локальный сервер (на который идут SELECT). В случае отваливания удалённого кластера SELECT должны по прежнему приходить на локальный сервер, а все прочие - не должны выполняться.

Может быть кто-то знает какие сущесвуют приблуды напр. к DBI позволяющие прозрачно проксировать запросы?

Пробовал все исвестные системы кластеризации для PosgreSQL - они умеют синтаксически разделять read write потоки, но вход в кластер обычно один, нельзя явно перекинуть конект на локальный... Выход - либо в ковырянии DBI либо в чём-то ещё.

Возможно есть идеи?

★★

Ответ на: комментарий от anonymous

Пробовал

У SQL Relay есть наприятная особенность - если падает хотя бы один узел - кластер просто встаёт. В документации это отражено так:

"Currently, if an SQL Relay connection daemon notices that the database server it is connected to has gone down it will mark itself unavailable to clients, log out and loop, attempting to re-connect to that database server. If that connection daemon is configured with the behindloadbalancer attribute set to "no", then it will also raise a flag and all connection daemons connected to that database server mark themselves unavailable to clients, close their connections and loop, attempting to re-connect to that database server. When the database server comes back up, as each connection daemon successfully re-connects to the database server, it marks itself available to clients again. While one database server is down, client sessions are still distributed over the servers that are still up, albiet through a smaller pool of persistent database connections."

Остановились пока на модифицированном DBI:Multiplex + PgCluster или PgPool

qqqq ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.