我有一个非常简单的用node.js编写的代码,可以在Kubernetes和AWS上运行。该应用程序仅执行POST / GET请求即可创建其他服务并从中获取数据。 service1-> service2-> service3
Service1获取发布请求并调用service2,service2调用postgres DB(使用sequlize)并创建一个新行,然后调用service3,service3从DB获取数据并将响应返回给service2,service2将响应返回给service1。 / p>
在大多数情况下它都能正常工作,但是在4-5次尝试+并发中,它一次掉了,我超时了。问题是service1收到了响应(根据日志和网络跟踪记录),但是似乎服务之间的连接已断开,并且出现超时(ESOCKETTIMEDOUT
)。
--prof-process
进行分析,没有结论。Kubernetes是否有可能断开我的连接?
答案 0 :(得分:0)
很难进行调试,但是由于添加更多负载和并发性时某些连接已断开,因此您的Kubernetes deployments上可能需要更多副本,并且可能会调整容器pod规格上的Resources
如果是这种情况,您还可以配置HPA(水平Pod自动缩放器)来处理负载。