nacos-sentinel-seata的安装部署

首先准备好nacos的数据库,然后在docker里面运行nacos容器

 这里在第一次运行的时候指定存储配置文件的数据库信息,然后可以查看到nacos进程。

然后是sentinel做服务熔断和降低处理

 自定义类并加载至IOC容器,用于书写降级之后的逻辑代码

 在openfeign接口上指明fallback的类字节码文件。至此书写完毕回调函数

 在需要使用sentinel的微服务可以进行如上的配置,这里的feign.sentinel.enabled = true 可以让feign作为簇点被哨兵监视

下面的dashboard则配置了sentinel的服务器地址,默认的controller会作为簇点被哨兵监视。

最后是seata的安装和使用。

首先确保 mysql nacos 和seata在同一个网络内

然后 在虚拟机里面运行如下命令,IP是虚拟机的ip 然后seata是数据卷的挂载目录,我们在运行命令之前,先拷贝一些配置文件,具体如下所示

 

docker run --name seata \
-p 8099:8099 \
-p 7099:7099 \
-e SEATA_IP=192.168.150.101 \
-v ./seata:/seata-server/resources \
--privileged=true \
--network hmall \
-d \
seataio/seata-server:1.5.2

 

然后在application.yml文件里面指明数据库和nacos的地址 ,目的是存储分布式事务的信息  配置nacos的目的是 一方面是服务注册 另一方面是书写共享配置文件,其他微服务读取到这个文件就可以把自身事务交给seata去处理。

 

 

 

 这里以购物车微服务为例

先导依赖

 然后读取nacos的共享文件

 

 然后就可以通过seata日志查看 确实是交给seata去管理分布式事务了。

 

posted @ 2024-02-19 13:44  -她的梦-  阅读(64)  评论(0编辑  收藏  举报