Балансировщик нагрузки приложений AWS с HTTP2 - PullRequest
0 голосов
/ 04 мая 2018

У меня есть приложение RESTful, развернутое на нескольких экземплярах EC2, сидящих за балансировщиком нагрузки. Аутентификация частично обрабатывается пользовательским заголовком запроса, который называется «X-App-Key».

Я только что перенес свои классические балансировщики нагрузки на балансировщики нагрузки приложений, и у меня начинаются периодические проблемы, когда некоторые действительные запросы (через тестирование с CURL) не проходят проверку подлинности для некоторых пользователей. Похоже, что пользовательский заголовок запроса только периодически проходит. При использовании apache bench не удалось выполнить около 100 из 500 запросов. Если я тестирую с классическим балансировщиком нагрузки, все 500 успешно.

Я посмотрел на это немного подробнее и обнаружил, что пользователи, для которых это не удается, используют немного более новую версию CURL, и, в частности, запросы от этих пользователей используют HTTP2. Если я добавлю «--http1.1» к запросу CURL, все они пройдут нормально.

Таким образом, проблемы, как представляется, характерны для нас при использовании настраиваемого заголовка запроса с балансировщиками нагрузки приложений нового поколения и HTTP2.

Я что-то не так делаю?

Ответы [ 2 ]

0 голосов
/ 04 мая 2018

Я нашел ответ на этот пост ...

Балансировщик нагрузки приложения AWS переводит все заголовки в нижний регистр

Кажется, что заголовки идут от ALB в нижнем регистре. Мне нужно обновить свой бэкэнд для поддержки этого

0 голосов
/ 04 мая 2018

Возможно, вам нужно включить Sticky session в вашем loadbalancer.

Они необходимы для того, чтобы сеанс оставался открытым для одного и того же экземпляра.

Но на уровне приложения необходимо, чтобы сеанс оставался активным и не очень полезен для некоторых видов услуг ( в зависимости от характера вашей системы, не рекомендуется ), так как обеспечивает снижение производительности в REST-подобных системах.

...