System Design · Senior · Запитання 11 з 75
Як масштабувати WebSocket-сервери горизонтально?
- ✓Правильна відповідь: Зв'язати вузли через pub/sub для доставки між ними
- 2Зберігати всі з'єднання на одному сервері з великим обсягом пам'яті
- 3Перепідключати клієнтів до випадкового вузла на кожне повідомлення
Пояснення
Користувачі одного чату підключені до різних вузлів. Вузол, що отримав повідомлення, публікує його в шину, а вузли з підписниками доставляють своїм з'єднанням. Балансувальник має підтримувати довгі з'єднання; під час деплою клієнти перепідключаються поступово.