Мне нужно получить соединение из пула, чтобы подключиться к восходящему потоку, но иногда возникают проблемы 503. Я хотел бы знать первопричину этого
https://github.com/envoyproxy/envoy/blob/master/source/common/router/router.cc
Http::ConnectionPool::Instance* conn_pool = getConnPool();
if (!conn_pool) {
sendNoHealthyUpstreamResponse();
return Http::FilterHeadersStatus::StopIteration;
}
Это часть кода, вызывающая ошибку 503. Я пытался повторить попытку с помощью цикла while фиксированное количество раз, но все еще сталкивался с ошибкой. Может ли кто-нибудь помочь найти первопричину или как я могу с этим справиться?
РЕДАКТИРОВАТЬ: Я подозреваю, что одна из возможных причин заключается в том, что слив происходит слишком часто на стороне посланника. Итак, есть ли способ контролировать Drain_type продолжительности, в течение которой происходит слив?
Я следил за этой документацией (https://www.envoyproxy.io/docs/envoy/latest/api-v1/listeners/listeners.html?highlight=draining%20modify_only), чтобы изменить тип стока со значения по умолчанию на modify_only.
Но столкнувшись с этой ошибкой:
error initializing configuration '/etc/envoy-config.json': JSON at lines 3-57 does not conform to schema.
Invalid schema: #
Schema violation: additionalProperties
Offending document key: #/drain_type