Klastry Erlang

Usiłuję zaimplementować klaster wykorzystujący Erlang jako klej, który trzyma to wszystko razem. Podoba mi się pomysł, że tworzy on w pełni połączony wykres węzłów, ale po przeczytaniu różnych artykułów w Internecie wygląda na to, że nie skaluje się to dobrze (o maks. 50 - 100 węzłach). Czy twórcy OTP celowo wprowadzili to ograniczenie? Wiem, że możesz skonfigurować węzły, aby miały tylko połączenia jawne, a także ukryte węzły itp. Ale wygląda na to, że domyślna konfiguracja out-of-the-box nie jest zbyt skalowalna.

Tak więc na pytania:

Gdybyś miał 5 węzłów (A, B, C, D, E), wszystkie miały wyraźne połączenia, takie jak A-B-C-D-E. Czy Erlang / OTP pozwala A rozmawiać bezpośrednio z E lub czy A musi przekazywać wiadomości od B do D, aby dostać się do E, i dlatego jest to przyczyna w pełni podłączonego wykresu? Ponownie, ma to sens, ale nie skaluje się dobrze z tego, co widziałem.

Jeśli miałbyś spróbować skalowalnego i odpornego na błędy systemu, jakie masz opcje? Wygląda na to, że jeśli nie możesz utworzyć w pełni połączonego wykresu, ponieważ masz zbyt wiele węzłów, następną najlepszą rzeczą byłoby utworzenie drzewa. Ale to nie wydaje się bardzo odporne na błędy, ponieważ jeśli główny lub dowolny rodzic węzłów potomnych zginie, straciłbyś znaczną część klastra.

Przyglądając się nadzorcom i pracownikom, wszystkie przykłady, które widziałem, stosują to do procesów w jednym węźle. Czy można go zastosować do klastra węzłów, aby pomóc w implementacji odporności na błędy?

Czy węzły mogą być częścią kilku klastrów?

Dzięki za pomoc, jeśli istnieje pół-niedawna strona lub blog (mniej więcej 1-letni), które przegapiłem, z przyjemnością na nie spojrzę. Ale całkiem dobrze przeszedłem przez Internet.

questionAnswers(5)

yourAnswerToTheQuestion