Ребят, вопрос возник. допустим есть хостинг с 4-мя нодами (1 тот же код, только разные порты - т.е. 4 процесса).
Есть загвоздка. На базу повешен триггер и pg-listen и он будет срабатывать на всех нодах, хотелось бы чтобы срабатывало только 1 раз, но тут возникают ньюансы.
Можно просто назначить "главный" порт и в коде смотреть, что если не главный, то не надо слушать сообщения от базы. - решение банальное и будет работать, но если нода упадет, то возникает вопрос "повышения ранга" - т.е. нужно повысить другую ноду до главной и чтобы она теперь слушала сообщения из базы. А если допустим ноды физически на разных серверах, то с портом такая штука не проканает. Можно привязаться к редиске и использовать тразакции там и если уже кто-то "захватил" переменную - то он и главный.
Можно конечно прям в докере переменную пробросить, но все равно вариант падения процесса и повышения другого остается
Есть ли какие-то пакеты на это дело или придется велосипед писать? Не думаю что это какой-то экзотический случай и по любому кто-то с таким уже сталкивался
Еще как пример миграции, чтобы не с каждой ноды они запускались а также смотрелось что нода главная и ок