Предположим, что у меня есть служба обслуживания X с API getName (String id). Мой код развертывается на 5 машинах, которые находятся за балансировщиком нагрузки. Тот же клиентский код работает на этих машинах, и где-то он вызывает вызов службы X для getName (String) api. Служба поставила ограничение на то, что она будет обрабатывать максимум 3 вызова в секунду. Предположим, что время обращения к запросу составляет 200 мс, как я могу обеспечить, чтобы мои клиенты не превзошли 3 лимита TPS сервера? У меня нет механизма для общения моих клиентов. Как избежать дросселирования на стороне сервера. Что, если я увеличу свой флот до 10 или 15 с 5? Есть ли что-то, что я могу сделать?Как обеспечить верхний предел служебных вызовов, когда клиентский код работает на нескольких машинах?
Будет ли что-то вроде усеченного экспоненциального отклика работать для меня?
Экспоненциальная отсрочка действительно для случаев, когда клиент повторно пытается воспользоваться вашим сервисом .... и предотвратить частые повторные попытки, подавляющие ваш сервис ... в вашем случае вам нужно запретить больше, чем звонков в секунду полностью право .... не развлекать более 3 вызовов в секунду от любого ip ?? – prashant
Я забочусь о стороне клиента. Как я собираюсь обеспечить, чтобы я не делал больше 3 вызовов в секунду, это мой вопрос, почему вы спрашиваете его об этом. Я не знаю, как обеспечить это, вот что я спрашиваю –
Что произойдет, если вы делаете более 3 звонков в секунду? Вы получаете сообщение об ошибке, которое может возникнуть, и повторите попытку позже? Происходит ли запрос с запросом на 3 вызова в секунду? –