Evitando o cérebro dividido, votos e quorum [fechado]

Suponha que você tenha n processos, n> 2. Você quer ter um acordo entre eles de que é para ser ativo. Então, eles precisam votar entre si para determinar qual deles está ativo.

Todos os processos podem falhar a qualquer momento, queremos ter um processo ativo, se possível, mas ...

Nósdevo nunca tem dois ativos ao mesmo tempo, então se eles não podem ter certeza, é melhor não ter ninguém ativo. (Ou seja, nós queremos evitar rachar o cérebro)

O único mecanismo de comunicação disponível entre eles é o envio de mensagens pub-sub (não ponto a ponto).

Um ou mais bancos de dados estão disponíveis, mas nenhum banco de dados deve ser um único ponto de falha. Ie. seria muito desleixado se todos os processos estivessem disponíveis para funcionar e fossem impedidos de fazê-lo pela perda de um único banco de dados.

Desenhar? Quais mensagens precisam ser publicadas?

questionAnswers(3)

yourAnswerToTheQuestion