System Design · Senior · Pytanie 11 z 75
Jak skalować serwery WebSocket poziomo?
- ✓Poprawna odpowiedź: Połączyć węzły przez pub/sub do dostarczania między nimi
- 2Trzymać wszystkie połączenia na jednym serwerze z dużą ilością pamięci
- 3Przełączać klientów na losowy węzeł przy każdej wiadomości
Wyjaśnienie
Użytkownicy jednego czatu są podłączeni do różnych węzłów. Węzeł, który otrzymał wiadomość, publikuje ją w szynie, a węzły z subskrybentami dostarczają ją swoim połączeniom. Load balancer musi obsługiwać długie połączenia; przy wdrożeniu klienci łączą się ponownie stopniowo.