最近在搭建一个平台,想集成seata,去官网下载一下seata-server:https://seata.apache.org/zh-cn/release-history/seata-server/
要求:基于docker进行安装部署seata,
问题描述:发现官网给的docker镜像是seata2.0.0,于是下载了,但是我实际项目中已经基于docker部署了nacos3.x了,最后运行发现seata怎么都起不来。
最终发现问题:
** Nacos 3.x 的 API 路径和 Seata 不兼容。
确认:Nacos 3.2.1 与 Seata 完全无法对接
Seata 底层用的是 nacos-client 1.4.2,它只会调用 /nacos/v1/ns/instance 这样的老 API,而 Nacos 3.x 已经把这些 API 重构或删除了,改成了 /nacos/v2/ns/... 甚至全新路径。
所以无论在 Seata 里怎么加 username/password,请求发出去到了 Nacos 3.x 那边都是 404,Nacos 根本不知道你在说什么。**
解决方案:
方案一:针对nacos的版本进行降级,使用nacos 2.X
官网推荐使用稳定的版本nacos2.2.3或者nacos2.3.2
但是降级后发现,整个项目的springboot的版本也需要重新适配,这个时间成本太高,于是pass掉这个方案;
方案二:升级seata;
显然这个方案比较合理,不能因为一个组件,而去改变整个平台吧;但是面临的❓是:官网未给出高版本的docker镜像,那怎么办?


896

被折叠的 条评论
为什么被折叠?



