开发者社区 > 云原生 > 中间件 > 正文

seata server(版本:1.0.0)重启后,触发客户端will 有人遇到过类似问题?

seata server(版本:1.0.0)重启后,导致应用出现了大量的"will destroy channel"操作,总共有404次。这个现象最终导致了TM无法链接到seata server。在这种情况下,应用中的TM和RM channel被重置,而日志数量显示应用存在了多个channel。在seata server重启后,应用一直报TM链接不上的问题,而且等待获取channel的操作耗时10秒,之后抛出错误。有人遇到过类似问题吗?
image.png
image.png

展开
收起
cuicuicuic 2024-01-02 19:49:18 80 0
3 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    这个问题可能是由于客户端在重启Seata Server后,没有正确处理与Seata Server的连接断开和重新建立的问题。当客户端触发“will destroy channel”时,可能是因为客户端认为与Seata Server的连接已经断开,但实际上Seata Server还在运行。

    为了解决这个问题,你可以尝试以下方法:

    1. 检查客户端的网络连接设置,确保客户端可以正常连接到Seata Server。
    2. 在客户端代码中添加重试机制,当触发“will destroy channel”时,尝试重新建立与Seata Server的连接。
    3. 检查Seata Server的配置,确保其正常运行,并允许客户端重新建立连接。
    4. 如果问题仍然存在,建议升级到最新版本的Seata Server和客户端,以解决可能存在的已知问题。
    2024-01-03 14:18:01
    赞同 展开评论 打赏
  • 在处理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 容器部署。

    2024-01-03 10:09:36
    赞同 展开评论 打赏
  • 重启后,请求数量多future是失败的断开连接必定打印罢了,你重启了出这个问题不很正常,检查你k8s的vip网络有没有问题,而且这种方式二阶段下放都会存在问题,不要用代理方式连seata-server ,此回答整理自钉群“3群-Seata 开源讨论群”

    2024-01-02 21:57:30
    赞同 展开评论 打赏

为企业提供高效、稳定、易扩展的中间件产品。

相关电子书

更多
《Seata 1.3 新特性以及如何参与社区》 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载