Работает ли ограничение скорости istio для подключений к websocket?

#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, как описано в статье в блоге.