注册中心集群,eureka高可用

今天做了一个简单的springcloud电商项目,下面是实现注册中心eureka集群(3个eureka server实例)的部分过程,代码已经测试通过。

eureka-server的application.yml:

server:
  port: 8761

eureka:
  instance:
    hostname: localhost
    instance-id: ${spring.cloud.client.ip-address}:${server.port}
    prefer-ip-address: true
  client:
  #声明自己是个服务端
    # 表示是否注册自身到eureka服务器
    registerWithEureka: false
    # 是否从eureka上获取注册信息
    fetchRegistry: false
    service-url:
      defaultZone: http://localhost:8761/eureka/,http://localhost:8762/eureka/,http://localhost:8763/eureka/
#      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

eureka clint 的application.yml:

#指定注册中心地址
eureka:
  client:
    service-url:
      defaultZone: http://localhost:8761/eureka/,http://localhost:8762/eureka/,http://localhost:8763/eureka/
  instance:
    instance-id: ${spring.cloud.client.ip-address}:${server.port}
    prefer-ip-address: true

#服务的名称
spring:
  application:
    name: product-service
  #指定从哪个配置中心读取
  cloud:
    config:
      discovery:
        service-id: CONFIG-SERVER
        enabled: true
      label: dev

注意,eureka server和eureka client 的defaultZone这一项要完全一致,一个字母都不要不一样,如果一个写localhost,另一个写192.168.99.5 是不行滴!!!要么都写localhost,要么都写192.168.99.5!!!

配置好后,通过idea改变port,分别启动3个eureka-server实例。

在idea改变端口,一个项目启动多个实例:
在这里插入图片描述

eureka server 启动完成后,接着启动各个eureka client。

最后,3个注册中心的监控台如下:

端口8761的监控台:
在这里插入图片描述
registered-replicas:注册的副本,可见8761有3个副本

端口8762的监控台:
在这里插入图片描述
端口8763的监控台:
在这里插入图片描述

可见3个eureka server都拿到了各个服务(eureka client)的注册信息,这样即使其中1个或2个eureka server 挂了,也不会影响各个服务的的运行,从而实现了高可用。

若童鞋们有什么疑问或建议,欢迎提出,大家一起进步~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值