SpringCloud-高级篇(九)

(1)Seata高可用

我们学习了Seata的各种用法了,Seata的服务是单节点部署的,这个服务如果挂了,整个事务都没有办法完了,下面我们学习Seata的高可用的知识。

实现高可用,还是比较简单,只要整成一个集群就可以了,弄好多个服务器,我们的服务器都是注册在注册中心的,我们的微服务只要找到注册中心,就可以对这些多个服务负载均衡了

我们不仅要实现高可用,还要实现异地容灾:如果你弄了好几个节点部署起来,放在一个机房里面,如果这个机房出现了故障,整个集群也就完了,对于大型的集群来讲,往往都会把这些服务异地多机房部署,如果一个机房出现问题,还有另外一个机房可用,这就叫做异地多机房,起到容灾的效果

Seata服务通过事务组,找事务组对应的映射关系,确定了集群,我们做异地容灾,我们不修改配置文件,通过配置的热更新,通过nacos的配置管理:当集群出现故障,实现动态切换

做配置的热更新:把配置文件中的事务组配置到nacos中

在服务中读取这个配置文件

重启服务:在nacos中查看启动后是否正常

Seata1:8091几个服务都注册上来了

Seata2:8092没有任何注册:

修改配置文件:SH改为HZ

8092:也出现了注册:

微服务此时就连到HZ集群上面了:微服务也不受影响,不需要重启

相关推荐
ponnylv6 小时前
深入剖析Spring Boot启动流程
java·开发语言·spring boot·spring
沙白猿6 小时前
【 苍穹外卖 | Day2】
spring
cyforkk7 小时前
Spring Boot @RestController 注解详解
java·spring boot·后端
惜.己7 小时前
Docker启动失败 Failed to start Docker Application Container Engine.
spring cloud·docker·eureka
canonical_entropy7 小时前
可逆计算:一场软件构造的世界观革命
后端·aigc·ai编程
重庆穿山甲8 小时前
从0到1:用 Akka 持久化 Actor + Outbox + RocketMQ 做到“订单-库存最终一致”
后端
我不只是切图仔9 小时前
我只是想给网站加个注册验证码,咋就那么难!
前端·后端
专注VB编程开发20年9 小时前
CSS 的命名方式像是 PowerShell 的动词-名词结构,缺乏面向对象的层级关系
开发语言·后端·rust