seata server(版本:1.0.0)重启后,导致应用出现了大量的"will destroy channel"操作,总共有404次。这个现象最终导致了TM无法链接到seata server。在这种情况下,应用中的TM和RM channel被重置,而日志数量显示应用存在了多个channel。在seata server重启后,应用一直报TM链接不上的问题,而且等待获取channel的操作耗时10秒,之后抛出错误。有人遇到过类似问题吗?
这个问题可能是由于客户端在重启Seata Server后,没有正确处理与Seata Server的连接断开和重新建立的问题。当客户端触发“will destroy channel”时,可能是因为客户端认为与Seata Server的连接已经断开,但实际上Seata Server还在运行。
为了解决这个问题,你可以尝试以下方法:
在处理Seata Server频繁关闭和创建的问题时,可能的一个原因是seata-server版本与在处理Seata Server频繁关闭和创建的问题时,可能的一个原因是seata-server版本与依赖库版本不匹配。解决这个问题的方法是检查系统环境变量配置,确保所有相关组件的版本都是一致的。
此外,也可能存在seata-server配置文件中的参数设置不正确的情况,这可能导致服务启动失败。你可以打开seata\seata-server-1.4.1\seata\conf文件夹下的registry.conf文件,检查并调整registry部分的type参数设置为"nacos",表示选择注册中心为nacos。
还有一种可能是,你可能需要指定seata-server运行环境,如dev, test等。服务启动时会使用对应的配置,例如:$ sh ./bin/seata-server.sh -p 8091 -h 127.0.0.1 -m file 容器部署。
重启后,请求数量多future是失败的断开连接必定打印罢了,你重启了出这个问题不很正常,检查你k8s的vip网络有没有问题,而且这种方式二阶段下放都会存在问题,不要用代理方式连seata-server ,此回答整理自钉群“3群-Seata 开源讨论群”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。