一.修改HOST
未见彩虹时,我知道我的雨季还没结束
前一章简单讲了的Eureka注册中心启动,这里将构建Eureka简单集群,由于是在个人计算机中进行测试,很难模拟多主机情况,而Eureka配置server集群时,需要配置host地址,所以先修改个人电脑上的host地址
二.配置文件
在第一章的基础上,修改application.yml
配置文件
# eureka server 注册中心配置节点A
server:
port: 6662
spring:
application:
name: springcloud-eureka #应用名称,在eureka中会作为服务名称
# eureka 客户端配置(和Server交互),Eureka Server其实也是个client
eureka:
instance:
hostname: SpringCloudEurekaNodeA # 当前eureka的主机名
#lease-expiration-duration-in-seconds: 90
client:
service-url: #配置客户端所交互的注册中心地址,由于是集群,所以需要配置集群其他机器的地址,多个地址用,(逗号)隔开
defaultZone: http://SpringCloudEurekaNodeA:6663/eureka # 注册中心节点B的地址
# 在集群中,是需要注册到其他注册中心节点中去,所以和单节点不同
register-with-eureka: true
# 集群模式下,需要接受注册信息,所以修改为true
fetch-registry: true
# eureka server 注册中心配置节点B
server:
port: 6663
spring:
application:
name: springcloud-eureka #应用名称,在eureka中会作为服务名称
# eureka 客户端配置(和Server交互),Eureka Server其实也是个client
eureka:
instance:
hostname: SpringCloudEurekaNodeB # 当前eureka的主机名
#lease-expiration-duration-in-seconds: 90
client:
service-url: #配置客户端所交互的注册中心地址,由于是集群,所以需要配置集群其他机器的地址,多个地址用,(逗号)隔开
defaultZone: http://SpringCloudEurekaNodeA:6662/eureka # 注册中心节点B的地址
# 在集群中,是需要注册到其他注册中心节点中去,所以和单节点不同
register-with-eureka: true
# 集群模式下,需要接受注册信息,所以修改为true
fetch-registry: true
上面是节点A与节点B的配置文件,只需要修改上述配置文件即可形成集群。启动后会互为副本,相互注册。
三.节点的管理信息
从上图我们可以看到,与单节点不同,集群的管理页面中,启用租约到期变为了true,那是因为A和B互为客户端,所以需要去保持健康检查,在Eureka中称之为续约,反正名称都是千奇百怪,最终的目的都是我告诉我还活着,或者我来戳戳你,看看你还是不是活的。
总所周知,集群的目的是为了降低节点压力,提升系统可用性,避免单节点注册中心挂掉后导致服务不可用。那如何实现的呢?
- 服务提供者和服务消费者可以连上任意一台注册中心进行注册和消费(分散单机压力)
- 注册中心节点间互为备份,A接受的注册信息更改会同步到B,B也会同步到A,A挂了,B也能正常提供服务(高可用)