nacos与eureka的区别

eureka原理图:

nacos原理图:

· Nacos与eureka的共同点

。都支持服务注册和服务拉取

。都支持服务提供者心跳方式做健胰检测

· Nacos与Eureka的区别

。Nacos支持服务端主动检测提供者状态:临时实例采用心跳模式,非临时实例采用主动检测模式。临时实例心跳不正常会被剔除,非临时实例则不会被剔除

。Nacos支持服务列表变更的消息推送模式,服务列表更新更及时

· 服务异常剔除

Eureka:

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

nacos:

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

nacos client(非临时实例) ,不支持心跳上报的机制,是由nacos server主动询问非临时实例的状态,如果服务出现问题,nacos server也不会将这个服务从列表中剔除,仅仅标记为不健康状态,等待服务恢复健康。

Nacos集群默认采用AP方式,当集群中存在非临时实例时,采用CP模式;Eureka采用AP方式

· 服务拉取

Eureka:

Eureka采用的是定时拉取服务,每间隔30s就拉取一次,如果在30s内,有服务提供者出现问题,服务调用者并不知情,可能就会导致出现问题,所以说Eureka服务拉取的效率比较差。

nacos:

Nacos不仅仅采用了pull方式,还有push方式。Nacos也是每隔一段时间--30s就拉取一次服务,如果nacos server发现有服务出现问题,也会立即推送消息给我们的服务调用者用于更新,这种效率更高。

Eureka在最新的2.x版本中已经停止维护了,从此成为了历史。不过1.x版本仍然可以使用。

相关推荐
向阳2569 分钟前
SpringBoot+vue前后端分离整合sa-token(无cookie登录态 & 详细的登录流程)
java·vue.js·spring boot·后端·sa-token·springboot·登录流程
XiaoLeisj26 分钟前
【MyBatis】深入解析 MyBatis XML 开发:增删改查操作和方法命名规范、@Param 重命名参数、XML 返回自增主键方法
xml·java·数据库·spring boot·sql·intellij-idea·mybatis
风象南27 分钟前
SpringBoot实现数据库读写分离的3种方案
java·spring boot·后端
振鹏Dong34 分钟前
策略模式——本质是通过Context类来作为中心控制单元,对不同的策略进行调度分配。
java·策略模式
ChinaRainbowSea43 分钟前
3. RabbitMQ 的(Hello World) 和 RabbitMQ 的(Work Queues)工作队列
java·分布式·后端·rabbitmq·ruby·java-rabbitmq
雾月5543 分钟前
LeetCode 914 卡牌分组
java·开发语言·算法·leetcode·职场和发展
melck1 小时前
liunx日志查询常用命令总结
java·服务器·网络
守护者1701 小时前
JAVA学习-练习试用Java实现“实现一个Hadoop程序,使用Hive进行复杂查询和数据筛查”
java·学习
程序员 小柴1 小时前
docker的与使用
java·docker·eureka
ゞ 正在缓冲99%…1 小时前
leetcode76.最小覆盖子串
java·算法·leetcode·字符串·双指针·滑动窗口