#websocket #socket.io #google-kubernetes-engine #istio #rate-limiting
#websocket #socket.io #google-kubernetes-engine #istio #ограничение скорости
Вопрос:
В последней версии Istio есть функции ограничения скорости. Работает ли это также при использовании подключений к websocket для клиентов? Смотрите также здесь .
Ответ №1:
Ограничения скорости Istio применяются к websocket, однако это не обязательно полезно. Поскольку websockets могут быть очень долговечными, ресурсы, используемые для каждого запроса, могут сильно различаться. Представьте, что ваша система работает со скоростью 1000 RPS с веб-сокетами, которые длятся 1 секунду, но затем продолжительность запросов увеличивается до 1 минуты — вы переходите от 1000 одновременных запросов к 60 000 одновременных запросов с той же частотой запросов.
Комментарии:
1. Я думаю, я понимаю, что вы говорите, хотя и не уверен. Я ищу возможную альтернативу решению алгоритма token bucket, описанному в этом блоге (как описано во второй половине) , которое реализует ограничение скорости для websocket на уровне приложения. Может ли istio дать аналогичное ограничение скорости?
2. Да, это так. Но принципиально я хочу сказать, что ограничение скорости может быть не тем, что вы хотите
3. Не могли бы вы подробнее прокомментировать тот факт, что websockets, противоречащие HTTP-глаголам / методам, не имеют «запросов»? Я думаю, что вы отправляете биты по проводам, так что с точки зрения istio это черный ящик. Поэтому я сомневаюсь, что вы сможете добиться значимого ограничения скорости для websocket с помощью istio. Решение для ограничения скорости для websocket должно быть более навязчивым для вашего кода.
4. Я думаю, что istio не будет ограничивать скорость для websocket, как описано в статье в блоге.