SpringCloud-服务与注册 (3)

 

SpringCloud-服务与注册

 

两两注册的方式可以实现集群中节点完全对等的效果,实现最高可用性集群,任何一台注册中心故障都不会影响服务的注册与发现

 

SpringCloud-服务与注册

 

4.4 Eureka自我保护

一句话:某时刻某一个微服务不可用了(8001)Eureka-server不会立刻清理,依旧会对该微服务的消息进行保存。

默认情况下,如果Eureka-Server在一定时间内没有接收到某个微服务实例的心跳,如果 Eureka Server 连续 90 秒都有没有收到 Eureka Client 的续约消息(连续三次没发送),它会认为 Eureka Client 已经掉线了,会将掉线的 Eureka Client 从当前的服务注册列表中剔除。

但是当网络分区故障发生时,微服务于EurekaServer之间无法正常通信,以上行为可能变得非常危险了因为微服务本身其实是健康的,此时本不应该注销这个微服务。Eureka通过“自我保护模式”来解决这个问题Eureka Server节点短时间内丢失过多客户端时(可能发送了网络分区故障),那么这个节点就会进入自我保护模式。一旦进入该模式,EurekaServer就会保护服务注册表中的消息,不再删除服务注册表的数据(也就是不会注销任何微服务)。当网络故障恢复后,该EurekaServer节点会自动退出自我保护模式。

 

7001 yml文件:

eureka:
  server:
    #关闭自我保护false(缺省true,一般不建议这么做。
    enable-self-preservation: false
    #续期时间,即扫描失效服务的间隔时间(缺省为90*1000ms
    eviction-interval-timer-in-ms: 10000

 

5. 与其他注册中心PK

后续:

Eureka闭源,目前2.0不更新

 

 

替代方案:
Nacos:阿里开源2019.6正式1.0企业级,致力于帮助您发现、配置和管理微服务.
Zookeeper:分布式协调工具,可以实现注册中心功能
consul:简化了分布式环境中的服务的注册和发现流程,通过 HTTP 或者 DNS 接口发现。

 

这四个组件虽然都实现了注册中心的功能,但是他们的功能和实现方式都有不同的地方,也各有各的优点,单从注册中心方面来比价四个注册中心

 

功能

 

Eureka

 

Nacos

 

Consul

 

ZK

 

CAP定理(协议)

 

AP

 

AP(或CP)

 

CP

 

CP

 

负载均衡策略

 

Ribbon

 

权重/metadata/Selecto

 

Fabio

 

-

 

雪崩保护

 

 

 

 

 

SpringCloud集成

 

支持

 

支持

 

支持

 

-

 

多数据中心

 

支持

 

支持

 

支持

 

-

 

 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wssfyj.html