Unikanie dzielonego mózgu, głosów i kworum [zamknięte]

Załóżmy, że masz n procesów, n> 2. Chcesz mieć wśród nich zgodę na to, aby być aktywnym. Muszą więc głosować na siebie, aby ustalić, który z nich jest aktywny.

Wszystkie procesy mogą zawieść w dowolnym momencie, chcemy mieć jeden proces aktywny, jeśli to możliwe, ale ...

Mymusi nigdy nie mieć dwóch aktywnych w tym samym czasie, więc jeśli nie mogą być pewni, lepiej jest nie mieć nikogo aktywnego. (Tj. Chcemy uniknąć podziału mózgu)

Jedynym dostępnym mechanizmem komunikacji między nimi jest obsługa wiadomości pub-sub (nie od punktu do punktu).

Dostępna jest jedna lub więcej baz danych, ale żadna baza danych nie powinna być pojedynczym punktem awarii. To znaczy. byłoby bardzo niepożądane, gdyby wszystkie procesy były dostępne do pracy, a uniemożliwiłoby im to utrata pojedynczej bazy danych.

Projekt? Jakie komunikaty należy opublikować?

questionAnswers(3)

yourAnswerToTheQuestion