1.问题如下:Seata启动后会停服·
2.可能原因:
(1) nacos没有启动;
(2) seata配置文件里nacos和nacos启动的不一致
3.解决方案
(1)如果nacos没有启动就启动nacos。比如:下面启动容器nacos627
docker start nacos627
(2) 如果seata配置文件里nacos和nacos启动的不一致情况:
方法1:修改配置文件的seata.registry. nacos.server-addr的属性值为启动的nacos。具体如下:
a.查看自己启动的nacos
docker ps
b.把配置文件的seata.registry. nacos.server-addr的属性值修改为启动的nacos 比如我这里是nacos627
方法2:修改配置文件的seata.registry. nacos.server-addr的属性值为启动的虚拟机的ip地址 (不推荐)
另外补充知识:Seata是干什么用的?
Seata是解决分布式事务出现的问题的。比如分布式系统中的购物车后的提交订单功能:先在订单服务要添加订单数据(当前服务,没有远程调用),然后在购物车服务里删除购物车对应数据,然后再在商品服务里的扣除库存。如果扣除库存出问题了,添加事务化本服的会回滚,但购物车服务的购物车数据不会被回滚,这就是分布式事务问题。使用Seata的AT或XA模式后,就可以解决了,也就是如果扣除库存出问题了,不仅本服的添加订单数据会回滚,而且购物车服务的购物车数据也会被回滚。(注意 远程调用的也要开启分布式事务)