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

seata如果使用msenacos或自建的话,EDAS会不会无法通信?

我们其他的业务服务使用的是edas共享注册中心,seata如果使用msenacos或自建的话,EDAS会不会无法通信?

展开
收起
三分钟热度的鱼 2023-11-22 19:05:23 68 0
3 条回答
写回答
取消 提交回答
  • 如果您的EDAS应用和Seata使用了不同的注册中心,例如您使用EDAS自身的注册发现如果您的EDAS应用和Seata使用了不同的注册中心,例如您使用EDAS自身的注册发现功能而Seata选择了Nacos作为注册中心,那么确实存在EDAS无法与Seata通信的可能。

    但值得注意的是,Seata的核心是为了解决分布式事务问题,与具体的注册中心没有直接关系。注册中心的主要作用是让事务管理器(TM)和资源管理器(RM)能够动态感知协调者的变更。在向协调者发送请求时,系统会从注册中心的协调者列表中使用负载均衡算法选择一个协调者,然后发送请求。

    因此,如果您决定使用不同的注册中心,需要确保两者之间的数据同步,并且所有的服务都能够正确找到对方。此外,还需要考虑其他因素,如seata-server是否支持4层代理,因为不支持的情况下可能会导致二阶段无法成功下发。

    2023-11-28 11:53:01
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    Seata是一个开源分布式事务解决方案,它提供了多种注册中心供用户选择,如Nacos、ZooKeeper等。如果您使用Seata并选择Nacos作为注册中心,则EDAS确实有可能无法与其通信。
    这是因为在使用EDAS的情况下,应用通常会使用EDAS自身的注册发现功能,而并非使用Seata的注册中心。在这种情况下,虽然两个系统都各自有自己的注册发现机制,但由于它们并不兼容,因此可能会导致一些问题。
    为了避免这种情况发生,您可以考虑在Seata中使用EDAS自身的注册发现功能,而不是单独搭建Nacos或者自建注册中心。这样可以使Seata更好地与现有的系统集成,并避免出现潜在的问题。
    当然,如果您必须使用外部注册中心,也可以采取一些措施来解决这个问题。例如,在配置文件中定义一个额外的服务地址映射,使得应用程序能够同时查找多个注册发现服务。不过这种方法可能比较复杂,并且需要您具备一定的技术能力才能实现。

    2023-11-23 14:56:23
    赞同 展开评论 打赏
  • 跨 注册中心 无法通信。此回答整理自钉群“云上微服务应用管理最佳实践 - EDAS(二)”

    2023-11-22 19:18:06
    赞同 展开评论 打赏

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

相关电子书

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