lengfengbyit
lengfengbyit
连接池有没有设置超时时间,有可能是连接用完了
如果在连接池的配置中没有设置 maxWaitTime 这个参数, 当连接池中没有可用的连接后, 默认是永久等待, 就会造成卡死的情况。 目前发现rpc-client有一个bug, 在src/Concern/ServiceTrait.php中的 sendAndRecv 方法中抛出了异常, 但是没有回收连接, 会导致连接耗尽 ------------------ 原始邮件 ------------------ 发件人: "Leunico"
swoft的熔断是服务端熔断, 现在是客户端根本连接不上服务端, 所以自然没办法熔断 ------------------ 原始邮件 ------------------ 发件人: "Leunico"
连接池的这个参数实则了吗? maxWaitTime ------------------ 原始邮件 ------------------ 发件人: "Leunico"
我这边遇到的情况是, rpc-client连接池耗尽连接的问题, 昨天提了bug, 官方将会再下个版本解决, 我们目前是先修改了源码,手动释放连接, 等官方发布下个版本, 在发布代码 rpc的连接池配置里加上 maxWaitTime 这个参数, 如果 报下面这个错误就是连接池里的连接耗尽了 连接池取连接超时,我设置的超时时间是5秒, 没有设置默认是0,就会卡死, 不会报错 Channel pop timeout by 5.000000s ------------------ 原始邮件 ------------------ 发件人: "yumindayu"
这个文件: vendor/swoft/rpc-client/src/Concern/ServiceTrait.php ------------------ 原始邮件 ------------------ 发件人: "swoft-cloud/swoft"
可以看下github的仓库, 这个bug官方已经修改了