Nacos是什么?
摘要:Nacos是 Dynamic Naming and Configuration Service的首字母简称,相较之下,它更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。
本文分享自华为云社区《Nacos入门指南 - Nacos是什么》,作者:华为云PaaS服务小智。
什么是Nacos
Nacos是 Dynamic Naming and Configuration Service的首字母简称,相较之下,它更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。
Nacos 帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。
Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。
为什么需要Nacos
在软件发展初期,企业还是传统的单体应用架构,将所有的功能都打包成一个应用服务进行部署。随着业务体系的不断发展扩大,单体应用架构的弊端日益显现。
如果可以把一个大的应用服务按照不同的维度和领域拆分成若干个子服务,各个业务团队只需要专注于自身负责的服务,各自进行开发部署迭代,不相互影响,那该多好。因此,传统的单元应用架构开始朝着微服务架构方向演进。演进过程中首要问题就是微服务如何相互发现对方进行调用?我们将这种相互发现、相互调用的能力称之为微服务注册发现。Nacos就具备这种微服务注册发现能力。
作为当前主流的服务注册发现配置中心之一,Nacos已经成为了国内开发者的首选,有着广泛的群众基础。
CSE服务注册发现配置中心引擎service-center目前支持SpringCloud Huawei、ServiceComb微服务框架,而当前国内主流框架是基于SpringCloud Alibaba、Dubbo等,这些框架集成了Nacos作为注册发现配置中心。
为了拥抱开源体系的注册发现配置中心,提高CSE的竞争力,吸引更多的用户,CSE新增了支持托管Nacos集群的特性。
Nacos架构
基本架构

微服务通过Nacos提供的OpenAPI,进行微服务注册与发现、配置管理、命名空间管理、集群管理等操作,详见链接https://nacos.io/zh-cn/docs/v2/guide/user/open-api.html
CSE Nacos的关键特性
1. 健康检查
提供两种健康检查机制:临时实例的健康检查和永久实例的健康检查。临时实例是由客户端主动发送心跳服务端,告诉服务端“我还活着”,如果客户端和服务端“失联”,服务端主动下线客户端锁注册的微服务。永久实例则是服务端主动探测客户端是否“活着”,如果探测失败则下线该微服务。
2. 服务管理
支持基于Rest和基于gRPC的服务发现,具备长连接能力。
支持对服务进行管理。根据服务名和分组名进行服务检索、查询服务详情、创建服务、删除服务。
支持设置服务实例权重,权重越大,分配给该实例的流量越大。
支持设置服务的保护阈值,实现微服务调用的流量控制,保证服务可用。作为服务注册发现中心,CSE Nacos正常情况下只会给服务消费者返回健康的服务提供者实例,当用户应用访问量激增,所有的调用都只会转发到健康实例,可能导致服务的崩溃,产生雪崩效应。通过设置保护阈值,CSE Nacos会在健康实例数/总实例数<=保护阈值时,触发保护机制,将部分请求转发至不健康服务提供者实例,达到限流的作用,虽然损失了部分流量,但是保证了服务的可用性。

保护阈值的范围是0-1的浮点数,0表示无论如何不触发阈值保护,1表示无论如何都会触发阈值保护。
3. 配置管理
支持配置文件的创建、删除、导入导出,支持多种配置文件格式。当用户微服务应用系统复杂庞大时,可能具有大量的配置文件,甚至配置文件的格式多样,使用导入导出功能可以帮助用户便捷的设置配置项,快速搬迁应用至CSE。
支持配置的监听查询,客户端可以主动发现配置文件的变更,重新读取配置文件内容,秒级生效,实现配置的热更新,无需重新部署应用和服务,让配置管理变得更加高效和敏捷。
支持配置的版本管理,可以回退至历史版本。
4. 订阅者查询
支持查询服务的订阅者,帮助用户更好地维护管理服务的订阅关系。
5. 命名空间管理
支持命名空间的增删改查,用于进行租户粒度的配置隔离。不同的命名空间下,可以存在相同的 Group 或 Data ID 的配置。命名空间的常用场景之一是不同环境的配置的区分隔离,例如开发测试环境和生产环境的资源(如配置、服务)隔离等。
CSE Nacos的规格
当前只支持集群版Nacos(三节点),支持的规格如下:

更多规格尽请期待。
CSE Nacos正在公测中,戳链接进入
Nacos是什么?的更多相关文章
- Spring Cloud Alibaba基础教程:Nacos的集群部署
继续说说生产环境的Nacos搭建,通过上一篇<Spring Cloud Alibaba基础教程:Nacos的数据持久化>的介绍,我们已经知道Nacos对配置信息的存储原理,在集群搭建的时候 ...
- Spring Cloud Alibaba基础教程:Sentinel使用Nacos存储规则
通过上一篇<使用Sentinel实现接口限流>的介绍,相信大家对Sentinel已经有了初步的认识.在Spring Cloud Alibaba的整合封装之下,接口限流这件事情可以非常轻易的 ...
- nacos作为配置中心
分布式配置中心 在微服务架构中,为什么需要一个统一的配置中心呢?如果用一句话来说那就是方便管理,降低出错的可能.比如:你开发环境是一套配置,测试环境是一套,生产环境又是一套.你如果手动去修改,难免会出 ...
- Nacos环境搭建
先去下载↓↓↓↓ https://github.com/alibaba/nacos/releases 单机版 单机版主要为了测试,没啥意思,你下载一个zip包,然后解压,进入bin目录,双击 star ...
- Nacos集群环境的搭建与配置
Nacos集群环境的搭建与配置 集群搭建 一.环境: 服务器环境:CENTOS-7.4-64位 三台服务器IP:192.168.102.57:8848,192.168.102.59:8848,192. ...
- Dubbo+Nacos做注册中心和配置中心
项目结构 相关代码 EchoService public interface EchoService { String echo(String msg); } DefaultEchoService @ ...
- 阿里注册中心nacos使用整合Dubbo-原创
阿里注册中心nacos是今年开源的框架,一开始以为就是个zk.后面看了图才明白他对标的竟然是consul\eureka,最重要是完美支持dubbo.我想今年开源它也是别有用意 .(目前nacos0.7 ...
- Nacos 发布 v0.8.0 Pre-GA版本,安全稳定上生产?
服务注册和服务配置开源项目 Nacos 本周发布了 v0.8.0 Pre-GA 版本,作为开源项目生命周期中的里程碑版本之一,v0.8.0 Pre-GA版本支持登录.命名空间.Metrics监控(对接 ...
- Nacos系列:基于Nacos的注册中心
前言 所谓注册中心,其实是分布式架构演进过程中的产物,在系统中充当一个协调者的角色.但是,为什么需要这样一个协调者的角色呢?我们先来看一个例子,以便理解为什么分布式架构中需要有注册中心. 案例 小明和 ...
- Spring Cloud Alibaba基础教程:Nacos的数据持久化
前情回顾: <Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现> <Spring Cloud Alibaba基础教程:支持的几种服务消费方式> ...
随机推荐
- [ABC201E] Xor Distances 题解
Xor Distances 题目大意 给定一颗带边权无根树,定义 \(\text{dis}(i,j)\) 表示 \(i,j\) 两点在树上的最短路径的边权的异或和.求: \[\sum_{i=1}^n\ ...
- HttpWebResponse获取DOM数据注意之ContentEncoding
public string GetKaiJ(string type = "ssq") { /*1.通过WebBrowser控件&HttpWebRequest获得网站信息*/ ...
- ant design TreeSelect支持搜索,切换value和title属性
测试人员测试我form里面一个select的时候,发现只能搜索英文和数字,不能搜中文 后来找到原因,treeNodeFilterProp字段默认是velue,我value里面是id,当然搜不到中文啦 ...
- Wonder8.promotion营销规则引擎,轻松搞掂千变万化的营销玩法
超过10年没有更新过内容了,不知道现在园子的氛围这类文章还适不适合放首页 想着整点内容,也是支持园子! 旺德發.营销 引擎 概述 为了广泛支持营销活动的复杂与灵活,Wonder8.promotion( ...
- HTML DOM之三:节点关系导航
1.获取节点列表 1 <!DOCTYPE html> 2 <html> 3 <body> 4 5 <p>Hello World!</p> 6 ...
- 测试技术:开源测试工具 jenkins、Sonar
http://www.cnblogs.com/itech/archive/2011/11/23/2260009.html Jenkins入门总结 基于 Jenkins 快速搭建持续集成环境 https ...
- 29. 干货系列从零用Rust编写正反向代理,异步回调(async trait)的使用
wmproxy wmproxy已用Rust实现http/https代理, socks5代理, 反向代理, 静态文件服务器,四层TCP/UDP转发,七层负载均衡,内网穿透,后续将实现websocket代 ...
- C语言一个单链表L=(a1 , a2 , … , an-1 , an),其逆单链表定义为L’=( an , an-1 , … , a2 , a1),要求逆单链表仍占用原单链表的空间。
/* 开发者:慢蜗牛 开发时间:2020.6.11 程序功能:顺序输出和逆序输出 */ #include<stdio.h> #include<malloc.h> #define ...
- C/C++ 开发SCM服务管理组件
SCM(Service Control Manager)服务管理器是 Windows 操作系统中的一个关键组件,负责管理系统服务的启动.停止和配置.服务是一种在后台运行的应用程序,可以在系统启动时自动 ...
- docker构建打包java项目
docker构建打包java项目 简介 本项目用于 研究和实践 docker的工作流部署发布 查看github源码 技术栈 spring-web (RESTAPI 请求交互) redis (用于实验 ...