eureka作为SpringCloud的服务发现与注册中心,在整个的微服务体系中,处于核心位置。单一的eureka服务,显然不能满足高可用的实际生产环境,这就要求我们配置一个能够应对各种突发情况,具有较强容灾能力的eureka集群服务。
其实我们创建不同的yaml文件,以不同yaml运行即可。在项目中,创建三个名字分别为eureka01,eureka02,eureka03的eureka,defaultZone中配置其他两个不同的eureka相互引用即可。
1.eureka01配置文件
server:
port: 8083
eureka:
instance:
#eureka的名字
hostname: eureka01
#开启自我保护机制 当Eureka Server节点在短时间内丢失过多的客户端时(可能发送了网络故障),
#那么这个节点将进入自我保护模式,不再注销任何微服务,当网络故障回复后,该节点会自动退出自我保护模式
server:
enable-self-preservation: true
client:
# 不在注册中心注册自己
register-with-eureka: false
# 表示自己就是注册中心,不需要检索服务,只需要维护实例
fetch-registry: false
serviceUrl:
defaultZone: http://eureka02:8084/eureka/,http://eureka03:8085/eureka/
2.eureka02配置文件
server:
port: 8084
eureka:
instance:
#eureka的名字
hostname: eureka01
#开启自我保护机制 当Eureka Server节点在短时间内丢失过多的客户端时(可能发送了网络故障),
#那么这个节点将进入自我保护模式,不再注销任何微服务,当网络故障回复后,该节点会自动退出自我保护模式
server:
enable-self-preservation: true
client:
# 不在注册中心注册自己
register-with-eureka: false
# 表示自己就是注册中心,不需要检索服务,只需要维护实例
fetch-registry: false
serviceUrl:
defaultZone: http://eureka01:8083/eureka/,http://eureka03:8085/eureka/
3.eureka03配置文件
server:
port: 8085
eureka:
instance:
#eureka的名字
hostname: eureka01
#开启自我保护机制 当Eureka Server节点在短时间内丢失过多的客户端时(可能发送了网络故障),
#那么这个节点将进入自我保护模式,不再注销任何微服务,当网络故障回复后,该节点会自动退出自我保护模式
server:
enable-self-preservation: true
client:
# 不在注册中心注册自己
register-with-eureka: false
# 表示自己就是注册中心,不需要检索服务,只需要维护实例
fetch-registry: false
serviceUrl:
defaultZone: http://eureka02:8084/eureka/,http://eureka01:8083/eureka/
4.服务中心的配置文件
这里只需要在yaml文件中修改eureka.client.serviceUrl.defaultZone即可
eureka:
client:
serviceUrl:
defaultZone: http://eureka02:8084/eureka/,http://eureka01:8083/eureka/,http://eureka03:8085/eureka/
然后需要将eureka01,eureka02,eureka03加入hosts文件中即可。
来源:CSDN
作者:衬衫码农
链接:https://blog.csdn.net/github_38924695/article/details/103720422