Eureka Server 高可用集群

在上一个章节,实现了单节点的Eureka Server的服务注册与服务发现功能。Eureka Client会定时连接Eureka Server,获取注册表中的信息并缓存到本地。微服务在消费远程API时总是使用本地缓存中的数据。因此一般来说,即使Eureka Server发生宕机,也不会影响到服务之间的调用。但如果EurekaServer宕机时,某些微服务也出现了不可用的情况,Eureka Server中的缓存若不被刷新,就可能会影响到微服务的调用,甚至影响到整个应用系统的高可用。因此,在生成环境中,通常会部署一个高可用的Eureka Server集群。
Eureka Server可以通过运行多个实例并相互注册的方式实现高可用部署,Eureka Server实例会彼此增量地同步信息,从而确保所有节点数据一致。事实上,节点之间相互注册是Eureka Server的默认行为。

搭建 Eureka Server高可用集群#

(1)修改本机host属性#

由于是在个人计算机中进行测试很难模拟多主机的情况,Eureka配置server集群时需要执行host地址。
所以需要修改个人电脑中host地址
127.0.0.1 eureka1
127.0.0.1 eureka2

(2)修改 shop_eureka_server 工程中的yml配置文件,添加如下配置属性#

复制代码
#指定应用名称
spring:
 application:
   name: shop-eureka-server
---
#执行peer1的配置信息
spring:
 profiles: eureka1
server:
 port: 8761
eureka:
 instance:
   hostname: eureka1
 client:
   service-url:
     defaultZone: http://eureka2:8762/eureka
---
#执行peer2的配置信息
spring:
 profiles: eureka2
server:
 port: 8762
eureka:
 instance:
   hostname: eureka2
 client:
   service-url:
     defaultZone: http://eureka1:8761/eureka
复制代码
在配置文件中通过连字符(---)将文件分为三个部分,第一部分为应用名称,第二部分和第三部分是根据不同的profifiles选项动态添加,可以在IDEA启动时进行激活配置 
使用IDEA启动历次EurekaServerApplicaion分别激活eureka1和eureka2配置。访问http://eureka1:8761和http://eureka1:8762/。会发现注册中心 SHOP-EUREKA-SERVER 已经有两个节点,并且registered-replicas (相邻集群复制节点)中已经包含对方。 

服务注册到Eureka Server集群#

如果需要将微服务注册到Eureka Server集群只需要修改yml配置文件即可
eureka:
 client:
   serviceUrl:
     defaultZone: http://eureka1:8761/eureka/,http://eureka1:8761/eureka/
以商品微服务为例,修改defaultZone配置添加多个Eureka Server的地址
 
posted @   1640808365  阅读(135)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示
主题色彩