2013-11-25 11 views
6

Przeczytałem ponad this article dość dokładnie, a także spędziłem kilka godzin badając temat klastrowania (procesy rozwidlania) w Node.js.Node.js Clustering - Co decyduje o równoważeniu obciążenia?

Czego nie mogę zrozumieć z tego artykułu, to, co określa, który proces roboczy otrzymuje żądanie X, czy wszyscy słuchają tego samego portu?

Czy istnieje sposób, aby proces główny przesyłał żądania, czy jest to po prostu losowe?

Odpowiedz

3

Istnieje dobre wyjaśnienie here. Krótko mówiąc, istnieją 2 różne zachowania w zależności od wersji twojego węzła:

węzeł 0.8-0.10 (i 0.12+ na Windows): każdy proces nasłuchuje na porcie. OS decyduje, który z nich się obudzi, gdy pojawi się nowe połączenie. W niektórych aplikacjach w niektórych systemach operacyjnych nie działa to zbyt dobrze i pozostawia kilka procesów ze zdecydowaną większością połączeń; w większości działa dobrze.

węzeł 0.12+ (z wyjątkiem systemu Windows): proces główny nasłuchuje na porcie. Kiedy wchodzą, przekazuje je robotnikom w sposób roboczy.

W obu tych przypadkach aplikacja powinna traktować ją jako losową (chociaż prawdopodobnie można założyć, że ma ona odpowiednią charakterystykę równoważenia obciążenia). Jeśli jednak z jakiegoś powodu potrzebujesz dokładniejszej kontroli, jedno zdanie w tym artykule (zauważ, że zostało napisane przez głównego dostawcę node.js, więc jest tu trochę autorytetu):

Przekształcenie algorytmu wyboru w coś, co jest konfigurowalny lub wczytywany przez programistę, jest rozważaną zmianą.

mówi, że możesz dostać to, czego szukasz. Wygląda na to, że jest to an issue on Github dotyczące tej opcji.

+3

Nie wiem o 0.12, ale myślę, że jest to RR w 0.11.2. Tutaj jest odpowiedni [commit] (https://github.com/joyent/node/commit/e72cd41) – user568109

+0

@ user568109 Interesujące. Wygląda na to, że "nowość w wersji0.12" oznacza, że ​​jest to pierwsza ważna wersja, która zawiera tylko liczby parzyste? Zaktualizowano coś, co jest bliżej języka artykułu (dotyczy tylko wersji głównych 0.8, 0.10 i 0.12). –

Powiązane problemy