ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

5-Nacos注册中心

2022-06-26 12:05:03  阅读:195  来源: 互联网

标签:中心 临时 Nacos nacos 实例 集群 注册 Eureka 列表


简介

nacos是阿里巴巴的产品,是spring cloud的组件,nacos不仅可以作为注册中心,还可以做配置中心:
image

spring cloud commons组件提供了组件规范,也就是说进行依赖修改之后再进行配置就可以完成集成:
image

image

在经过上文操作之后,直接可以用消费者访问提供者即可。

image

服务多级存储模型

多级集群也就是加入了地域模式,每个地区叫做一个集群:
image

本集群内的访问是快速的,只有本地集群无法访问才去跨集群调用:
image

默认所有实例都在DEFAULE集群中,可以通过配置来实现对实例所处集群的修改:
image
集群的名称是自定义的。

集群配置后效果如下:
image

image

负载均衡

配置集群负载均衡

nacos调用集群内的服务提供者会更快,所以消费者也应该配置集群名称;
集群负载均衡方案也是通过ribbon来实现的,要通过nacos的负载均衡策略来实现:
image
nacos rule优先选择本地集群,然后随机选择实例进行访问。

如果跨级群访问了请求,就会在消费者控制台中显示警告:
image
image

权重负载均衡

image
image
权重一般在0-1之间;借助权重就可以实现灰度发布的功能;

环境隔离

服务划分和实例划分是从地域和业务方面的划分,namespace是根据环境不同,例如生产环境和开发环境的不同就要相互之间隔离数据和配置:
image

所有的服务默认都在defalut group,也都在public 空间内:
image

创建新的命名空间,然后在配置文件中进行配置:
image
image
image
image
注意配置文件中填入的是命名空间的ID。不同的命名空间是绝对隔离的,无法相互之间访问。

Nacos与Eureka的区别

列表拉取策略

每一个服务进行注册的时候都会将数据提交到注册中心,消费者每次请求都会拉取提供者的列表,但是Eureka不会每次都拉取最新的数据,这样可以减缓Eureka的压力,主要缓存在ribbon的对象中。
Nacos与Eureka都会每30s去拉取一次服务列表,以解决某些服务宕机导致无法访问的问题。

临时实例

nacos分为临时实例和非临时实例,默认所有的服务都是非临时实例。
临时实例也会采用心跳的方式进行提交信息,非临时实例nacos不会做心跳,会nacos主动的检测服务是否健康。临时实例宕机之后会直接在列表中去除,非临时实例宕机后并不会在列表中去除,而是在列表中提示实例出现问题。
nacos在发现服务宕机,会主动推送给所有服务消费者信息,而Eureka不会主动推送实例健康信息。
ephemeral表示此实例是否为临时实例,默认为true:
image
当非临时实例出现问题之后,列表中仍然存在此实例信息,只是健康状态变成了不健康状态:
image
能够看到,实例状态变成了非临时实例,并且健康状态为不健康,但并不会从列表中删除实例信息。

高可用与一致性

image

AP:强调服务的可用性
CP:强调数据的可靠性和一致性

标签:中心,临时,Nacos,nacos,实例,集群,注册,Eureka,列表
来源: https://www.cnblogs.com/agoodjavaboy/p/16413230.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有