我们几乎没有将微服务部署到AWS kubernetes集群中。应用程序体系结构的高层消息流如下。
客户端应用程序-> AWS API网关-> Istio代理->微服务
虽然从客户端应用程序(用GoLang语言编写)进行性能测试,并且对不同的微服务(所有微服务具有相同的主机和不同的路径,例如https://aws-api-gateway.com/service1,https://aws-api-gateway.com/service2)每秒并发负载约20个请求,但我们在客户端应用程序中间歇性遇到以下错误。
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个请求被“读取:对等方重置连接”一样。
客户端应用程序具有http连接池,其中MaxIdleConns = 100和MaxConnsPerHost = 100
我们已经确认端点没有任何速率限制设置(如果超出了速率限制,则错误将是http响应代码)
此错误的可能根本原因是什么。
首先,您需要找出基础结构中发生此错误的位置。您可以使用Amazon CloudWatch(https://aws.amazon.com/cloudwatch/),Prometheus等监视工具。一旦确定了问题所在,就可以尝试找出原因。