динамически ловить активность нод и в случае падения мастера менять указатель мастера на реплику?
Или не стоит так делать на уровне бекенда?
На уровне бекэнда у вас минус одна точка отказа. Балансер тоже может умереть. Так что заход точно верный, главное синхронизировать бекэнд с процессом переключения слейва в мастер, чтобы потом репликация не пострадала.
О, круто! А не подскажете сервис иди инструменты , с помощью которых можно ловить статусы и менять мастера на беке? Иди хотя бы как это в идеее должен работать, типо у нас сейчас просто строкой описан мастер, то есть статически, думаю поставить env var в системе, с которого можно считывать название master_var для бека и который можно менять каким-нибудь сервисом Буду очень признателен , если поделитесь мыслями в реализации 👀
Зависит от многих фаткоров. Не подскажу. У меня система просто копит обновления в очереди, пока лежит мастер.
Но при этом вы используете pgpool?
По идее -- это именно так и работает, мастер падает, автомат это понимает и переключает мастера. Но обычно переключение бэка -- это относительно простая операцыя, по сравнению с файловером...
Выходит, мне каждый раз нужно проверять, есть ли доступ к мастеру и в случае чего направлять на реплику? Просто не очень понятно как это прописать на уровне бекенда
Ещё раз -- сложное у тебя будет во-первых решыть что надо переключать, во-вторых переключить непосредственно сервер. После этого как там будет на бэке... Ну, как-то сделаешь.
Обсуждают сегодня