Ну ок, я могу сделать leader-election мастера и роутить клиентов только на него, с мастера хуком синкать на слэйвы, но что делать когда один из инстансов упадёт и пролежит какое-то время, тогда при следующей инициализации его нужно будет как-то засинкать от текущего мастера. Как-то слишком много логики выходит для простого HA
Нужно просто синхрить репы на разных хостах? Если да, то есть решение от одной малоизвестной конторы - https://github.com/LINBIT/csync2/blob/master/doc/csync2.adoc Я просто запускаю это systemd таймером. Но что там с недосинхронизированным репо - хз
Ну ок, я могу сделать leader-election мастера и роутить клиентов только на него, с мастера хуком синкать на слэйвы, но что делать когда один из инстансов упадёт и пролежит какое-то время, тогда при следующей инициализации его нужно будет как-то засинкать от текущего мастера. Как-то слишком много логики выходит для простого HA
Я уже думал на каждый пуш tar'ить архив из репо и отправлять в обжект-стор какой-нить, но я отказываюсь верить что ещё никто не придумал решение получше