Email or username:

Password:

Forgot your password?
Top-level
kurator88

@s1dul @mudasobwa @3draven мне кажется что на akka концептуально легче всего будет такое сделать, она вроде из коробки сама умеет в кластер и разные ноды. Правда akka на java очень коряво пишется, лучше на scala. На go вообще быстро в голову ничего не приходит.

5 comments
Aleksei � Matiushkin

@kurator88

Пф, в кластер и разные ноды умеет даже наколеночный похапе, если руки не из жопы. Я не собираюсь писать на джаве (хотя все для JRE я пишу на скале, конечно, от джавы меня тошнит).

Меня интересовало архитектурное решение, и акка, к сожалению, решает кластерный синглтон очень плохо.

@s1dul @3draven

s1dul

@mudasobwa @kurator88 @3draven как делал бы я:
Завести легкрвесный контейнер в одном инстансе и рассчитывать, что рестартоваться будет за приемлемое время.

Если время не приемлемое, завести несколько инстансов и к ним всем примонтировать один разделенный том. Дальше инстанс начинает пытаться открыть на эксклюзивную запись заранее определенный лок-файл. Кто смог захватить, тот устанавливает соединение и начинает работать. Остальные продолжают бесконечно ждать и часто-часто пытаться захватить лок.

Aleksei � Matiushkin

@s1dul у меня BEAM, я могу без локфайла напрямую спросить, жив ли процесс, у соседней ноды.

Но часто-часто долбиться куда-либо — это за гранью, я лично разворачиваю PR не глядя, если там есть вызов sleep, хочется все-таки один раз получить входящее сообщение «теперь ты главный».

@kurator88 @3draven

Go Up