nacos和eureka的区别 面试_nacos和eureka比较哪个好
Eureka架构图:
Eureka架构图
1.服务注册(register):Eureka Client会通过发送REST请求的方式,向Eureka Server注册自己的服务。注册时,提供自身的元数据,比如ip地址、端口、运行状况指标、主页地址等信息。Eureka Server接收到注册请求后,就会把这些元数据信息存储在一个双层的Map中。 什么时候注册?在启动微服务的时候。
2.服务续约(renew):在服务注册后,Eureka Client会维护一个心跳来持续通知Eureka Server,说明服务一直处于可用状态,防止被剔除。默认每隔30秒eureka.instance.lease-renewal-interval-in-seconds 发送一次心跳来进行服务续约。
3.获取服务列表(get registry):服务消费者(Eureka Client)在启动的时候,会发送一个REST请求给Eureka Server,获取注册中心的服务清单,并且缓存在客户端本地。同时,为了性能及安全性考虑,Eureka Server会每隔30秒更新一次缓存中的服务清单。
4.服务调用:服务消费者在获取到服务清单后,可以根据清单中的服务信息,查找到该服务的地址,从而进行访问(远程调用)。
6.服务下线(cancel):当Eureka Client需要关闭或重启时,就不希望在这个时间段内再有请求进来,所以,就需要提前先发送REST请求给EurekaServer,告诉Eureka Server自己要下线了,Eureka Server在收到请求后,就会把该服务状态置为下线(DOWN),并把该下线事件传播出去。
7.失效剔除(evict):服务实例可能会因为网络故障等原因,导致不能提供服务,而此时该实例也没有发送请求给Eureka Server来进行服务下线。所以,还需要有服务剔除的机制。Eureka Server在启动的时候会创建一个定时任务,每隔一段时间(默认60秒),从当前服务清单中把超时没有续约(默认90秒eureka.instance.lease-expiration-duration-inseconds)的服务剔除。 Nacos架构图:
Nacos架构图
服务管理:实现服务CRUD,域名CRUD,服务健康状态检查,服务权重管理等功能
一致性协议:解决不同数据,不同一致性要求情况下,不同一致性机制
OpenAPI:暴露标准Rest风格HTTP接口,简单易用,方便多语言集成
Console:易用控制台,做服务管理、配置管理等操作
Nacos与Eureka自我保护机制对比
相同点:保护阈值都是个比例,0-1 范围,表示健康的 instance 占全部instance 的比例。
不同点:
1)保护方式不同
Eureka保护方式:当在短时间内,统计续约失败的比例,如果达到一定阈值,则会触发自我保护的机制,在该机制下,Eureka Server不会剔除任何的微服务,等到正常后,再退出自我保护机制。自我保护开关(eureka.server.enable-self-preservation: false)
Nacos保护方式:当域名健康实例 (Instance) 占总服务实例(Instance) 的比例小于阈值时,无论实例 (Instance) 是否健康,都会将这个实例 (Instance) 返回给客户端。这样做虽然损失了一部分流量,但是保证了集群的剩余健康实例 (Instance) 能正常工作。
2)范围不同
Nacos 的阈值是针对某个具体 Service 的,而不是针对所有服务的。但 Eureka的自我保护阈值是针对所有服务的。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/171870.html原文链接:https://javaforall.cn
相关文章
- 深度剖析Spring Cloud Alibaba系列——适配Spring Cloud和Nacos的服务元数据
- nacos集群部署
- Nacos集群部署-高可用保证
- SpringCloud之Nacos配置管理【统一配置管理,配置热更新,配置共享】
- nacos核心概念一篇速过
- 【Nacos系列教程】Nacos第一篇:本地搭建nacos环境
- golang 源码分析:nacos服务发现
- 【Linux】Linux - CenterOs 7.9中搭建Nacos 2.x
- 微服务灵魂摆渡者Nacos
- nacos配置中心不生效的解决方案
- 【Nacos源码分析】- 02 获取配置流程
- 漏洞复现-Nacos身份认证绕过
- Nacos 惊爆安全漏洞,可绕过身份验证(附修复建议)
- Gateway+Nacos根据服务名称实现动态路由报错:type=Service Unavailable, status=503
- Nacos与Oracle的对比哪种数据服务更可靠(nacos oracle)