Deseo escribir una aplicación maestro-esclavo en Erlang. Estoy pensando en las siguientes cosas que necesito de la arquitectura:Inicio de nodos Erlang remotos
los esclavos no deben morir cuando el maestro muere, sino más bien tratar de volver a conectar con ella mientras el maestro está abajo
el maestro debe iniciarse automáticamente los nodos remotos si no se conectan de forma automática o están abajo (probablemente el comportamiento supervisor OTP)
¿hay un comportamiento orientado OTP para hacer esto? Sé que puedo iniciar nodos remotos con slave:start_link()
y puedo monitorear los nodos con erlang:monitor()
, pero no sé cómo se puede incorporar esto en un comportamiento gen_server
.
Las funciones erlang: monitor_node/2 y erlang: monitor_node/3 también están disponibles. –
¿Has visto la sección de aplicaciones distribuidas? http://www.erlang.org/doc/design_principles/distributed_applications.html – Zed
Necesitamos una terminología clara aquí. ¿Desea distribuir su aplicación en varias máquinas virtuales de erlang (que se ejecutan múltiples nodos) o desea construir un árbol de procesos tolerante a errores? No está completamente claro de tu pregunta. –