Spring Cloud 实战(二)- Eureka 高可用注册中心

Eureka 高可用注册中心

点餐系统中的产品服务、订单服务已写了大半,但是注册中心高可用一直还没解决,今儿就把我遇到的坑尘现出来,避免以后再遇到此问题无章可循了。

Eureka Server1 配置

server:
  port: 9009
  # spring
spring:
  application:
    name: eureka
  profiles:
    active: peers0
#Eureka Server
eureka:
  client:
    service-url:
      defaultZone: http://peers1:9010/eureka/
    fetch-registry: true
    register-with-eureka: true
  instance:
    instance-id: ${spring.application.name}:${spring.application.instance_id:${server.port}}
    hostname: peers0
    prefer-ip-address: false

Eureka Server2 配置

server:
  port: 9010
  # spring
spring:
  application:
    name: eureka
  profiles:
    active: peers1
#Eureka Server
eureka:
  client:
    service-url:
      defaultZone: http://peers0:9009/eureka/
    fetch-registry: true
    register-with-eureka: true
  instance:
    instance-id: ${spring.application.name}:${spring.application.instance_id:${server.port}}
    hostname: peers1
    prefer-ip-address: false

hosts 配置

127.0.0.1 peers0
127.0.0.1 peers1

结果展示

在这里插入图片描述

坑点儿

网上看到的情况大都是这样子的:
在这里插入图片描述

unavailable-replicas 问题一大推,总结了几个原因会导致这类问题:

1. eureka.client.serviceUrl.defaultZone配置项的地址,不能使用localhost,要使用peers0、peers1之类的域名,通过host映射到127.0.0.1;
2. spring.application.name或eureka.instance.hostname必须一致;
3. 相互注册要开启:  
	eureka.client.register-with-eureka=true 
	eureka.client.fetch-registry=true 

我之前遇到的问题是,两个 eureka 服务的spring.application.name不一致导致。具体配置情况可参考 翟永超的《Spring Cloud微服务实战》 Page:46的详细说明。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值