当前位置: 首页 > news >正文

Eureka和Nacos有哪些区别?

Eureka和Nacos都能起到注册中心的作用,用法基本类似。但还是有一些区别的,例如:

  • Nacos支持配置管理,而Eureka则不支持。

而且服务注册发现上也有区别,我们来做一个实验:

我们停止user-service服务,然后观察Eureka控制台,你会发现很长一段时间过去后,Eureka服务依然没有察觉user-service的异常状态。

这与Eureka的健康检测机制有关。在Eureka中,健康检测的原理如下:

  • 微服务启动时注册信息到Eureka,这点与Nacos一致。

  • 微服务每隔30秒向Eureka发送心跳请求,报告自己的健康状态。Nacos中默认是5秒一次。

  • Eureka如果90秒未收到心跳,则认为服务疑似故障,可能被剔除。Nacos中则是15秒超时,30秒剔除。

  • Eureka如果发现超过85%比例的服务都心跳异常,会认为是自己的网络异常,暂停剔除服务的功能。

  • Eureka每隔60秒执行一次服务检测和清理任务;Nacos是每隔5秒执行一次。

综上,你会发现Eureka是尽量不剔除服务,避免“误杀”,宁可放过一千,也不错杀一个。这就导致当服务真的出现故障时,迟迟不会被剔除,给服务的调用者带来困扰。

不仅如此,当Eureka发现服务宕机并从服务列表中剔除以后,并不会将服务列表的变更消息推送给所有微服务。而是等待微服务自己来拉取时发现服务列表的变化。而微服务每隔30秒才会去Eureka更新一次服务列表,进一步推迟了服务宕机时被发现的时间。

而Nacos中微服务除了自己定时去Nacos中拉取服务列表以外,Nacos还会在服务列表变更时主动推送最新的服务列表给所有的订阅者。

综上,Eureka和Nacos的相似点有:

  • 都支持服务注册发现功能

  • 都有基于心跳的健康监测功能

  • 都支持集群,集群间数据同步默认是AP模式,即最全高可用性

Eureka和Nacos的区别有:

  • Eureka的心跳是30秒一次,Nacos则是5秒一次

  • Eureka如果90秒未收到心跳,则认为服务疑似故障,可能被剔除。Nacos中则是15秒超时,30秒剔除。

  • Eureka每隔60秒执行一次服务检测和清理任务;Nacos是每隔5秒执行一次。

  • Eureka只能等微服务自己每隔30秒更新一次服务列表;Nacos即有定时更新,也有在服务变更时的广播推送

  • Eureka仅有注册中心功能,而Nacos同时支持注册中心、配置管理

  • Eureka和Nacos都支持集群,而且默认都是AP模式

相关文章:

  • 项目:双人五子棋对战-对战模块(6)
  • ChatGPT
  • 评估聚类效果
  • MySQL提权之UDF提权
  • 假期已结束,大家都开始上班了吗
  • sqli-labs 靶场 less-11~14 第十一关、第十二关、第十三关、第十四关详解:联合注入、错误注入
  • [word] word如何清除超链接 #媒体#笔记#知识分享
  • NSSCTF-Web题目5
  • Faiss assertion ‘err == cudaSuccess‘ failed in void faiss::gpu:runL2Norm()
  • LangChain开发【NL2SQL】应用
  • Web前端管理系统项目:深度解析与实现之道
  • ROS使用手柄/cmd_vel无输出
  • 【Anaconda】 anaconda常用命令总结
  • 德克萨斯大学奥斯汀分校自然语言处理硕士课程汉化版(第六周) - 预训练模型
  • Golang 避坑指南
  • 鸿蒙轻内核M核源码分析系列七 动态内存Dynamic Memory
  • 【算法篇】滑动窗口的最大值JavaScript版
  • @并行计算和分布式计算解决方案
  • uniapp使用webview内嵌H5的注意事项
  • 渗透测试之内核安全系列课程:Rootkit技术初探(一)
  • 抗战回望15︱《五月国耻纪念专号》:“不堪回首”
  • 多地景区发公告称售票达接待峰值,有景区暂停网络和线下售票
  • 特朗普称将禁止伊朗石油买家与美国做生意
  • 内蒙古公开宣判144件毁林毁草刑案,单起非法占用林地逾250亩
  • 国务院任免国家工作人员:颜清辉任人社部副部长
  • 中老铁路跨境国际旅客突破50万人次