美文网首页
eureka和nacos的比较

eureka和nacos的比较

作者: shark没有辣椒 | 来源:发表于2023-07-16 18:40 被阅读0次

eureka和nacos都是服务注册与发现的组件,用于构建微服务架构中的服务治理,那么他们有哪些不同点呢?

CAP理论

C一致性,A高可用,P分区容错性

eureka只支持AP,而nacos支持CP和AP两种

nacos是根据配置识别CP或AP模式,如果注册Nacos的client节点注册时是ephemeral=true即为临时节点,那么Naocs集群对这个client节点效果就是AP,反之则是CP,即不是临时节点。
对于临时实例,健康检查失败,则直接删除。这种特性适合于需要应对流量突增的场景,服务可以弹性扩容,当流量过去后,服务停掉即可自动注销。 对于持久化实例,健康检查失败,会设置为不健康状态。它的优点就是可以实时的监控到实例的健康状态,便于后续的告警和扩容等一系列处理。

 #false为永久实例,true表示临时实例开启,注册为临时实例
 spring.cloud.nacos.discovery.ephemeral=true

连接方式

  • nacos使用的是netty和服务直接进行连接,属于长连接
  • eureka是使用定时发送和服务进行联系,属于短连接

服务异常剔除

Eureka client在默认情况每隔30s想Eureka Server发送一次心跳,当Eureka Server在默认连续90s秒的情况下没有收到心跳, 会把Eureka client 从注册表中剔除,在由Eureka-Server 60秒的清除间隔,把Eureka client 给下线。

    EurekaInstanceConfigBean类下
    private int leaseRenewalIntervalInSeconds = 30;  //心跳间隔30s
    private int leaseExpirationDurationInSeconds = 90;  //默认90s没有收到心跳从注册表中剔除
    EurekaServerConfigBean  类下
    private long evictionIntervalTimerInMs = 60000L; //异常服务剔除下线时间间隔

也就是在极端情况下Eureka 服务 从异常到剔除在到完全不接受请求可能需要 30s+90s+60s=3分钟左右

nacos client 通过心跳上报方式告诉 nacos注册中心健康状态,默认心跳间隔5秒,nacos会在超过15秒未收到心跳后将实例设置为不健康状态,可以正常接收到请求,超过30秒nacos将实例删除,不会再接收请求

管理方式

nacos提供了nacos console可视化控制话界面,可以对实例列表进行监听,对实例进行上下线,权重的配置,并且config server提供了对服务实例提供配置中心,且可以对配置进行CRUD,版本管理。

eureka仅提供了实例列表,实例的状态,错误信息,相比于nacos过于简单。

自我保护

Eureka服务器会定期清理那些长时间没有收到心跳的服务实例,但如果在短时间内丢失了过多的心跳,Eureka会进入自我保护模式,自我保护模式下,Eureka服务器会暂时停止剔除无法联系的服务实例,同时仍然接受新的服务实例注册。这样做是为了防止整个系统的瘫痪,确保服务消费者仍然能够获得可用的服务实例列表。一旦网络恢复正常,Eureka服务器会自动退出自我保护模式,并且恢复对无法联系的服务实例的剔除操作。

# 启用或禁用自我保护模式
eureka.server.enable-self-preservation=true
# 自我保护模式的续约阈值比例
eureka.server.renewal-percent-threshold=0.85

当Nacos注册中心的实例数量低于阈值时,自我保护模式将启动。默认情况下,实例数量低于95%的阈值会触发自我保护模式。在自我保护模式下,Nacos会记录长时间未收到心跳或心跳失败的实例,并将其标记为不健康状态(包括临时实例)。但不健康的实例仍然会保留在注册中心中,以确保服务消费者仍然能够发现它们并尝试进行服务调用。而且Nacos 的阈值是针对某个具体服务的,不是针对所有服务的。但 Eureka的自我保护阈值是针对所有服务的。

# 自我保护模式的触发阈值
server.protect.threshold=0.85

总结

目前由于Eureka已停止维护,Nacos成为了更为活跃和推荐的选择。Nacos不仅提供了服务注册与发现的功能,还提供了更多的服务治理和配置管理能力,是一个功能更为丰富和全面的服务治理平台。


引用:https://blog.csdn.net/weixin_43776652/article/details/120874245

相关文章

网友评论

      本文标题:eureka和nacos的比较

      本文链接:https://www.haomeiwen.com/subject/xugmudtx.html