Мы развернули несколько наших микро сервисов в кластере AWS kubernetes. Поток сообщений высокого уровня архитектуры приложения выглядит следующим образом:
Клиентское приложение -> AWS API-шлюз -> Istio Proxy -> Микросервис
При выполнении некоторого тестирования производительности от клиента приложение (записано в GoLang) с одновременной загрузкой около 20 запросов в секунду для разных микроуслуг (все микроуслуги имеют один и тот же хост и разные пути, как https://aws-api-gateway.com/service1, https://aws-api-gateway.com/service2) мы периодически сталкиваемся со следующей ошибкой в клиентском приложении.
Error while signing Post "https://aws-api-gateway/service1/v1/client/payload/sign": read tcp 192.168.1.77:51734->54.xxx.xxx.xx:443: read: connection reset by peer
Когда происходит ошибка, она возникает в группах, как мы видим, что около 10 запросов отклоняются сообщением «read: connection reset by peer».
Клиентское приложение имеет пул http-соединений с MaxIdleConns = 100 и MaxConnsPerHost = 100
Мы подтвердили, что конечные точки не имеют никаких настроек ограничения скорости (Если ограничение скорости превышено, ошибка будет http ответным кодом)
Какова будет root причина этой ошибки.