GCE: Как вы получаете балансировщик нагрузки, чтобы отказаться от чрезмерного трафика? - PullRequest
0 голосов
/ 04 октября 2018

Я пытаюсь запустить стороннее серверное программное обеспечение на GCE (Compute Engine).Он говорит HTTP и / или HTTPS, работает в одной группе управляемых экземпляров и получает трафик от Appengine.

Эта конкретная программа ведет себя очень плохо, если она получает слишком много запросов на экземпляр.Поэтому я хочу, чтобы балансировщик нагрузки отклонял запросы, если нагрузка слишком велика.Но я не могу заставить никого из тех, кого я проверил, вести себя таким образом.Какой бы режим балансировки я ни установил, похоже, он всегда распределяет запросы по исправным экземплярам в моей группе.Это приводит к слишком большому количеству запросов на каждый экземпляр в пике (до начала автоматического масштабирования) и означает, что все запросы не выполняются.

Есть ли способ заставить какой-либо из балансировщиков нагрузки отказаться от чрезмерного трафика?Например, вернуть ошибку HTTP сразу?

Ответы [ 2 ]

0 голосов
/ 15 октября 2018

Думаю, тебе стоит взглянуть на Апигея.Политика ареста спайков обрабатывает ваш случай использования.https://docs.apigee.com/api-platform/reference/policies/spike-arrest-policy

Если вы более чувствительны к цене, посмотрите на удушение конечных точек облака.https://cloud.google.com/service-infrastructure/docs/rate-limiting

0 голосов
/ 05 октября 2018

Вы ищете функциональность, которую балансировщик нагрузки не может выполнить, но вы можете найти то, что ищете в облачной броне: https://cloud.google.com/armor/

Некоторые из этих параметров все еще находятся в бета-версии/ Alpha и все еще будет развиваться.

Если это все еще недостаточно хорошо, у вас не будет выбора, и вы должны создать tcp LB для направления трафика на что-то еще, например HAproxy, чтобы делать то, что вы хотите.

...