摘要: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是什么?的更多相关文章

  1. Spring Cloud Alibaba基础教程:Nacos的集群部署

    继续说说生产环境的Nacos搭建,通过上一篇<Spring Cloud Alibaba基础教程:Nacos的数据持久化>的介绍,我们已经知道Nacos对配置信息的存储原理,在集群搭建的时候 ...

  2. Spring Cloud Alibaba基础教程:Sentinel使用Nacos存储规则

    通过上一篇<使用Sentinel实现接口限流>的介绍,相信大家对Sentinel已经有了初步的认识.在Spring Cloud Alibaba的整合封装之下,接口限流这件事情可以非常轻易的 ...

  3. nacos作为配置中心

    分布式配置中心 在微服务架构中,为什么需要一个统一的配置中心呢?如果用一句话来说那就是方便管理,降低出错的可能.比如:你开发环境是一套配置,测试环境是一套,生产环境又是一套.你如果手动去修改,难免会出 ...

  4. Nacos环境搭建

    先去下载↓↓↓↓ https://github.com/alibaba/nacos/releases 单机版 单机版主要为了测试,没啥意思,你下载一个zip包,然后解压,进入bin目录,双击 star ...

  5. Nacos集群环境的搭建与配置

    Nacos集群环境的搭建与配置 集群搭建 一.环境: 服务器环境:CENTOS-7.4-64位 三台服务器IP:192.168.102.57:8848,192.168.102.59:8848,192. ...

  6. Dubbo+Nacos做注册中心和配置中心

    项目结构 相关代码 EchoService public interface EchoService { String echo(String msg); } DefaultEchoService @ ...

  7. 阿里注册中心nacos使用整合Dubbo-原创

    阿里注册中心nacos是今年开源的框架,一开始以为就是个zk.后面看了图才明白他对标的竟然是consul\eureka,最重要是完美支持dubbo.我想今年开源它也是别有用意 .(目前nacos0.7 ...

  8. Nacos 发布 v0.8.0 Pre-GA版本,安全稳定上生产?

    服务注册和服务配置开源项目 Nacos 本周发布了 v0.8.0 Pre-GA 版本,作为开源项目生命周期中的里程碑版本之一,v0.8.0 Pre-GA版本支持登录.命名空间.Metrics监控(对接 ...

  9. Nacos系列:基于Nacos的注册中心

    前言 所谓注册中心,其实是分布式架构演进过程中的产物,在系统中充当一个协调者的角色.但是,为什么需要这样一个协调者的角色呢?我们先来看一个例子,以便理解为什么分布式架构中需要有注册中心. 案例 小明和 ...

  10. Spring Cloud Alibaba基础教程:Nacos的数据持久化

    前情回顾: <Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现> <Spring Cloud Alibaba基础教程:支持的几种服务消费方式> ...

随机推荐

  1. [ABC204E] Rush Hour 2 题解

    Rush Hour 2 题目大意 给定一张无向图,边带两个参数 \(c_i,d_i\),在 \(t\) 时间时经过第 \(i\) 条边所需的时间是 \(c_i+\lfloor\frac{d_i}{t+ ...

  2. SpringBoot如何缓存方法返回值?

    目录 Why? HowDo annotation MethodCache MethodCacheAspect controller SpringCache EnableCaching Cacheabl ...

  3. Redis 6 学习笔记 3 —— 用SpringBoot整合Redis的踩坑,了解事务、乐观锁、悲观锁

    SpringBoot整合Redis时踩到的坑 jdk1.8环境,用idea的Spring Initializr创建spring boot项目,版本我选的2.7.6.pom文件添加的依赖如下,仅供参考. ...

  4. 9.24 多校联测 Day4 总结

    没有罚坐,但好像什么也没做. 反向挂分,RP++. 开考推 T1 的 k=2.推推推,写写写,假了.又假了.还是假的. 此时已过去 1h,开 T2,没有看懂题,又看了一会依旧没有看懂. 开 T3.尝试 ...

  5. 产品代码都给你看了,可别再说不会DDD(十):CQRS

    这是一个讲解DDD落地的文章系列,作者是<实现领域驱动设计>的译者滕云.本文章系列以一个真实的并已成功上线的软件项目--码如云(https://www.mryqr.com)为例,系统性地讲 ...

  6. 动态规划——提高Ⅴ(DP优化)

    单调队列优化DP 其实单调队列就是一种队列内的元素有单调性(单调递增或者单调递减)的队列,答案(也就是最优解)就存在队首,而队尾则是最后进队的元素.因为其单调性所以经常会被用来维护区间最值或者降低DP ...

  7. 本地Stackedit Markdown编辑器设置远程访问

    StackEdit是一个受欢迎的Markdown编辑器,在GitHub上拥有20.7k Star!,它支持将Markdown笔记保存到多个仓库,包括Gitee.GitHub和Gitea.此在线笔记工具 ...

  8. Markdown 跳转到本文章标题

    一.只可以在Markdown文件中跳转 1.因为 Markdown 文件标题就是 Markdown 一种锚点 任何级别的标题可以直接作为锚点目标.如果标题比较固定(不是经常改来改去),可以直接使用标题 ...

  9. PWA 离线方案研究报告

    本文并不是介绍如何将一个网页配置成离线应用并支持安装下载的.研究PWA的目的仅仅是为了保证用户的资源可以直接从本地加载,来忽略全国或者全球网络质量对页面加载速度造成影响.当然,如果页面上所需的资源,除 ...

  10. 【matlab混沌理论】1.1.混沌理论简介

    混沌理论 1.简介          混沌理论是一个跨学科的科学研究领域和数学分支,专注于对初始条件高度敏感的动力系统的基本模式和确定性定律,曾被认为具有完全随机的无序和不规则状态.混沌理论指出,在混 ...