eureka注册中心

作用:

发现服务,心跳检测,如果有服务挂了另一台提供

也可以使用其他比如zookepper作为注册中心

zk在多于一半服务挂掉时会停止提供服务,而 Eureka可以很好的应对因网络故障导致部分节点失去联系的情况,而不会像zookeeper那样使整个注册服务瘫痪(只要有一台在就可以提供服务)。

 

@EnableEurekaServer 注解表示作为注册中心服务端


@EnableEurekaClient  注解表示作为客户端

 

配置:

#注册中心地址

eureka.client.service-url.defaultZone=http://localhost:7001/eureka

# 是否需要将自己注册到注册中心

eureka.client.register-with-eureka=true

# 是否需要搜索服务信息

eureka.client.fetch-registry=true

自我保护机制

Eureka Server 在运行期间会去统计心跳失败比例在 15 分钟之内是否低于 85%,如果低于 85%,Eureka Server 会将这些实例保护起来

image.png

当控制台出现这段字就代表进入了自我保护,不会删除已经失去链接的服务

自我保护机制的存在主要有两点:

1.提高可用性,而zookeer对失去心跳半数就不可用了

2.可能因为网络原因与某个服务心跳检测不到,这时候把这个服务干掉可能有其他服务正在调用他

例如,两个客户端实例 C1 和 C2 的连通性是良好的,但是由于网络故障,C2 未能及时向 Eureka 发送心跳续约,这时候 Eureka 不能简单的将 C2 从注册表中剔除。因为如果剔除了,C1 就无法从 Eureka 服务器中获取 C2 注册的服务,但是这时候 C2 服务是可用的。

可以关闭 eureka.server.enable-self-preservation=false

集群搭建

 

eureka:
  instance:
    hostname: eureka7003.com #eureka服务端的名称
  client:
    register-with-eureka: false #不在注册中心注册自己
    fetch-registry: false #表示自己就是注册中心,不需要检索服务,只需要维护服务实例
    service-url:
      defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/

服务端配置把自己注册到别的服务端,比如有123, 1的配置文件是注册到23

客户端连接时写多个地址

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值