Я хочу написать приложение master-slave в Erlang. Я думаю о следующих вещах, которые мне нужны из архитектуры:
-
ведомые не должны умирать, когда мастер умирает, а скорее попытайтесь снова подключиться к нему, пока мастер остановлен.
-
мастер должен автоматически запускать удаленные узлы, если они не подключаются автоматически или они не работают (возможно, поведение супервизора в OTP)
Для этого существует ориентированное на OTP поведение? Я знаю, что я могу запускать удаленные узлы с помощью slave:start_link()
, и я могу контролировать узлы с помощью erlang:monitor()
, но я не знаю, как это можно включить в поведение gen_server
.