Назад | Перейти на главную страницу

Запуск SSE-сервера HTTPS через Kubernetes / Ingress и Google Cloud Platform

Я запускаю SSE-сервер на VPS, и он работает отлично, никаких проблем, но по причинам масштабируемости мне нужно было переместить его на другой сервер.

Я переместил сервер на Google Cloud Platform / Google Container Engine и Kubernetes / Ingress. Но теперь я столкнулся с тем, что не могу эффективно поддерживать соединение SSE, оно совершенно нестабильно и само закрывает соединения.

Что мне нужно сделать, чтобы запустить SSE сервер над Kubernetes / Ingress?

Я предполагаю, что мой код / ​​программное обеспечение работает идеально, и это не проблема, потому что он отлично работает в Kubernetes, VPS, на моей машине, везде, только не когда я добавляю конфигурацию Ingress, а я делаю это, потому что хочу HTTPS над Kubernetes балансировщик нагрузки.

Похоже, что таймаут Ingress по умолчанию составлял 30 секунд для любого типа соединения, я установил его на 86 400 (в день), и теперь сокет работает нормально.

Вы можете изменить тайм-аут в консоли Google следующим образом:

➜ export BACKEND=xxx-xxx-xxxxxx
➜ gcloud compute backend-services update $BACKEND --global --timeout=86400 # seconds
Updated [https://www.googleapis.com/compute/v1/projects/xxxxxxxxx/global/backendServices/xxx-xxx-xxxxxx].