Частое отключение и повторное подключение запросов веб-сокетов после развертывания в K8s - PullRequest
0 голосов
/ 08 апреля 2020

Я работаю над созданием приложения для чата, используя библиотеку socket.io в серверной части и ngx-socket-io в клиентской части. Функциональность чата работает нормально в локальной среде, и на вкладке сети браузера есть только одно подключение к веб-сокету.

Но при развертывании кода в кластере Kubernetes я вижу, что подключение к веб-сокету не сохраняется дольше, а предыдущий запрос к веб-сокету закрывается и инициируется новый запрос, т.е. соединение веб-сокета отключается, а затем повторное подключение.

Оно не является постоянным даже на одном активном модуле или службе в кластере Kubernetes.

Я хочу, чтобы одно подключение к веб-сокету сохранялось в течение более длительного периода времени, только тогда я смогу включите чат в реальном времени, в противном случае он прекращается после установки нового подключения через веб-сокет. enter image description here

Ответы [ 2 ]

1 голос
/ 08 апреля 2020

Вам необходимо применить следующие аннотации для Ingress с протоколом websocket. Смотрите пример здесь :

nginx.ingress.kubernetes.io/proxy-read-timeout: 3600
nginx.ingress.kubernetes.io/proxy-send-timeout: 3600
0 голосов
/ 20 апреля 2020

Эта проблема была решена с помощью контроллера traefik, который является усовершенствованным контроллером вместо nginx входного контроллера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...