我们已经将一些微服务部署到 AWS kubernetes 集群中。应用架构的高层消息流如下。
客户端应用程序 -> AWS API 网关 -> Istio 代理 -> 微服务
在从客户端应用程序(用 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 个请求被“读取:对等连接重置”拒绝。
客户端应用程序具有 MaxIdleConns=100 和 MaxConnsPerHost=100 的 http 连接池
我们已经确认端点没有任何速率限制设置(如果超过速率限制,错误将是http响应代码)
此错误的可能根本原因是什么。