#spring-boot #jetty #embedded-jetty
#весенняя загрузка #jetty #встроенный-jetty
Вопрос:
Я использую приложение Spring boot со встроенным Jetty.
Версия Spring boot — 2.2.1.Версия RELEASE Jetty — 9.4.25.v20191220
Приложения выполняются на нескольких хостах (скажем, на 5 хостах) и с балансировщиком нагрузки перед ним.
Настройка балансировщика нагрузки:-
Keep Alive conections - 20
Keepalive Timeout - 60s
Настройки Jetty
server.jetty.connection-idle-timeout=62000 (62 Secs)
Балансировщик нагрузки выбрасывает 502 когда-нибудь с журналами ниже.
upstream prematurely closed connection while reading response header from upstream, client: ******, server: xyz.test.com, request: "GET /health/check HTTP/1.1", upstream: "https://XXXXX:8443/health/check", host: "xyz.test.com"
upstream prematurely closed connection while reading response header from upstream, client: ******, server: xyz.test.com, request: "GET /api/v1/weather/2485 HTTP/1.1", upstream: "https://XXXXXX:8443/api/v1/weather/2485", host: "xyz.test.com"
Мы используем все настройки по умолчанию для встроенного Jetty Spring boot. Нужно ли что-нибудь изменить в конфигурации?
Мы не включили журнал доступа на стороне сервера, и в наших журналах нет журналов, связанных с 502.
Комментарии:
1. Недостаточно информации для работы. Что показывают журналы jetty на стороне сервера для тех же соединений, которые вызвали эту ситуацию преждевременного закрытия? Кроме того, вы можете установить для балансировщика нагрузки тайм-аут сохранения времени ожидания, который меньше, чем тайм-аут ожидания на стороне сервера, в противном случае балансировщик нагрузки будет использовать мертвые соединения.
2. Мы используем настройку Jetty по умолчанию по умолчанию. Не уверен, какое значение по умолчанию для времени ожидания. Проверит.
3. Приятно видеть награду, но никто не может ответить на это с помощью предоставленной вами скудной информации. Требуется больше деталей. например: подробные журналы, точные версии (jetty как говорящий «spring boot 2.2.1» означает только минимальную версию jetty), точные значения конфигураций (значения по умолчанию времени ожидания по умолчанию менялись много раз за эти годы, как в spring, так и в jetty, и они могут даже меняться в зависимости от среды выполнения,если вы не знаете значения, установите для них известное значение).
4. Добавлена версия jetty и настройка времени ожидания. Нет конкретных журналов, связанных с 502, и никаких ошибок в журналах сервера. Вам нужен какой-либо конкретный журнал?