Evitando el cerebro dividido, los votos y el quórum [cerrado]

Supongamos que tiene n procesos, n> 2. Desea tener un acuerdo entre ellos de que uno debe estar activo. Por lo tanto, deben votarse uno al otro para determinar cuál está activo.

Todos los procesos pueden fallar en cualquier momento, queremos tener un proceso activo si es posible, pero ...

Nosotrosdebe nunca tenga dos activos al mismo tiempo, así que si no pueden estar seguros de que es mejor no tener a nadie activo. (Es decir, queremos evitar el cerebro dividido).

El único mecanismo de comunicación disponible entre ellos es la publicación pub-sub (no punto a punto).

Una o más bases de datos están disponibles, pero ninguna base de datos debe ser un punto único de falla. Es decir. sería muy indeseable si todos los procesos estuvieran disponibles para funcionar, y se les impidiera hacerlo por la pérdida de una sola base de datos.

¿Diseño? ¿Qué mensajes hay que publicar?

Respuestas a la pregunta(3)

Su respuesta a la pregunta