spring-cloud注册中心集群

为啥要为注册中心集群:

  为了让程序运行更安全,如果一个注册中心挂了,另一个能顶上,不会让整个服务挂。

  古语云:鸡蛋不要放在同一个笼子里

在注册中心的yml中添加多个服务配置,启动两次

每次启动都需要修改服务配置名

第一次用【peer2】

第二次用【peer1】

然后在其他微服务中的yml配置文件中修改注册中心地址

#指定注册中心地址
eureka:
client:
serviceUrl:
defaultZone: http://peer2:1001/eureka/,http://peer1:1000/eureka/

这是偷懒的做法

spring:
  profiles:
    active: peer2 #服务配置名

---
spring:
  profiles: peer1
eureka:
  instance:
    hostname: peer1
  client:
    registerWithEureka: false #禁止注册中心向自己注册
    fetchRegistry: false #禁止注册中心拉取注册地址清单
    serviceUrl:
      defaultZone: http://peer2:1001/eureka/
server:
  port: 1000

---
spring:
  profiles: peer2
eureka:
  instance:
    hostname: peer2
  client:
    registerWithEureka: false #禁止注册中心向自己注册
    fetchRegistry: false #禁止注册中心拉取注册地址清单
    serviceUrl:
      defaultZone: http://peer1:1000/eureka/
server:
  port: 1001

下面用不偷懒的方法

创建两个注册中心模块。

第一个yml配置填写

spring:
  profiles: peer1
eureka:
  instance:
    hostname: peer1
  client:
    registerWithEureka: false #禁止注册中心向自己注册
    fetchRegistry: false #禁止注册中心拉取注册地址清单
    serviceUrl:
      defaultZone: http://peer2:1001/eureka/ #两个注册中心相互注册
server:
  port: 1000

第二个yml配置填写

spring:
  profiles: peer2
eureka:
  instance:
    hostname: peer2
  client:
    registerWithEureka: false #禁止注册中心向自己注册
    fetchRegistry: false #禁止注册中心拉取注册地址清单
    serviceUrl:
      defaultZone: http://peer1:1000/eureka/ #两个注册中心相互注册
server: port: 1001

然后在其他微服务中的yml配置文件中修改注册中心地址

#指定注册中心地址
eureka:
client:
serviceUrl:
defaultZone: http://peer2:1001/eureka/,http://peer1:1000/eureka/
原文地址:https://www.cnblogs.com/bigbigxiao/p/12115091.html