#javascript #node.js #kubernetes #websocket
#javascript #node.js #kubernetes #websocket
Вопрос:
У меня есть сервер и клиент WebSocket, реализованные в nodejs, я создам несколько экземпляров с сервера с помощью Kubernetes, если у вас есть 10 экземпляров с серверного узла, и клиенты будут подключаться к нему, и я буду использовать Nginx для распределения запросов клиентов по экземплярам сервера, скажем, яподключите 100 клиентов, если к каждому экземпляру сервера подключено 10 клиентов, и я хочу, чтобы клиент в первом экземпляре сервера отправил что-то клиенту во втором экземпляре сервера, как я могу это сделать?
Ответ №1:
вы можете использовать Redis cluster в качестве движка сервера WebSocket, тогда k8s будет следить за доступностью данных на любых узлах
Комментарии:
1. Или, в более общем смысле, «база данных». Redis прост и удобен для небольших настроек. Для чего-то большего, может быть, Kafka. И когда вы становитесь больше, чем даже это может справиться, такие инструменты, как многоадресная рассылка TCP и предоставление Cisco infinity долларов.
2. @coderanger Это небольшая настройка?
3. Да, потому что вы сможете получить аналогичную производительность при гораздо меньшем использовании ресурсов (и, следовательно, стоимости) с помощью других инструментов, таких как Kafka, но они были бы излишними для нового пользователя 🙂