分享一个使用Seata alibaba 的坑
1.简介
因为我本人比较喜欢把所用到的组件放在服务器上 所以我是把Seata-server放在服务器上的 但是就是因为放在服务器上导致我在学习的过程中遇到了一个Seat问题-
2.错误详情 can not register RM,err:can not connect to services-server.
为什么会出现这个错误呢? 我自己本人也是很懵逼的,但是经过我在网上查阅资料后发现Seata有一个类可以查看到serverAddress 的地址然后我就Debug一下看看在创建的时候连接的地址是什么
- 在这里我们可以很清楚的看到连接 Seata Tc Server 的地址是127.0.0.1:8091
- 这样我们就知道是为什么会出现can not register RM,err:can not connect to services-server.这个错误
- 因为我把seata-server的服务部署在服务器上所以然而这里连接服务的地址却是我们本地所以才会抛出这个错误
3.解决方法:
3.1解决方法其实很简单我们只需要在Yml文件里面加多一个配置
注意:这里加的Grouplist 必须是default 本人有试过seate-server:发现又会抛出一个新的错误,:default.grouplist is required 那就是违约,毕竟约定>配置,所以这里必须是default
4.可能有一部分的人还是会出现错误
那是因为你注册到Nacos的时候看一下服务列表的ip
因为默认启动的时候注册到nacos的ip是服务器内网ip,而并不是公网,所以我们这里只需要在启动服务的时候加上一个命令 -p 端口地址 -h 你自己的公网ip