[转帖]Nacos 是什么?

nacos,什么 · 浏览次数 : 0

小编点评

**Nacos 是一个用于构建云原生应用的动态服务发现、配置管理和服务管理平台。** * Nacos 帮助您发现、配置和管理微服务。 * Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。 * Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 * Nacos 是构建以 "服务" 为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。 * Nacos 支持多种规格的集群版,支持集群部署。 **Nacos 的关键特性包括:** * 健康检查提供两种健康检查机制:临时实例的健康检查和永久实例的健康检查。 * 服务管理支持基于 Rest 和基于 gRPC 的服务发现。 * 配置管理支持配置文件的创建、删除、导入导出,支持多种配置文件格式。 * 订阅者查询支持查询服务的订阅关系。 * 命名空间管理支持命名空间的增删改查。 **Nacos 的优点:** * 简化构建云原生应用的动态服务发现、配置管理和服务管理平台。 * 提高性能和可用性。 * 降低开发成本。 **建议:** * 使用 Nacos 作为您的服务注册发现配置中心。 * 考虑使用集群版 Nacos,以提高性能。

正文

https://my.oschina.net/u/4526289/blog/5605693

 

 
摘要: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 是什么?相似的内容:

[转帖]Nacos 是什么?

https://my.oschina.net/u/4526289/blog/5605693 摘要:Nacos 是 Dynamic Naming and Configuration Service 的首字母简称,相较之下,它更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。 本文分享自华为云

[转帖]Spring Cloud Alibaba Nacos 注册中心使用教程

一. 什么是Nacos Nacos是一个更易于构建云原生应用的动态服务发现(Nacos Discovery )、服务配置(Nacos Config)和服务管理平台,集注册中心+配置中心+服务管理于一身,基本特性如下: 服务发现和服务健康监测; 动态配置服务; 动态 DNS 服务; 服务及其元数据管理

[转帖]nacos开启强鉴权

注意 Nacos是一个内部微服务组件,需要在可信的内部网络中运行,不可暴露在公网环境,防止带来安全风险。 Nacos提供简单的鉴权实现,为防止业务错用的弱鉴权体系,不是防止恶意攻击的强鉴权体系。 如果运行在不可信的网络环境或者有强鉴权诉求,请参考官方简单实现做替换增强。 鉴权 服务端如何开启鉴权 非

[转帖]官网:Nacos的授权验证

https://nacos.io/zh-cn/docs/v2/guide/user/auth.html 注意 Nacos是一个内部微服务组件,需要在可信的内部网络中运行,不可暴露在公网环境,防止带来安全风险。 Nacos提供简单的鉴权实现,为防止业务错用的弱鉴权体系,不是防止恶意攻击的强鉴权体系。

[转帖]nacos discovery和config

微服务和nacos版本都在2.x及之后。 1、discovery用于服务注册,将想要注册的服务注册到nacos中,被naocs发现。 pom引入的依赖是: yml配置文件中: 2、config用于获取nacos配置管理->配置列表下配置文件中的内容 pom引入的依赖是: 获取nacos的配置有三种方

[转帖]Nacos 获取配置时启用权限认证

默认情况下获取 Nacos 中的配置是不需要权限认证的, 这个估计是由其使用场景决定的(绝大多数都是仅内网可访问). 今天调查了下如何在获取配置时增加权限验证以提高其安全性. 1. 启用 Nacos 的权限认证 只要 nacos.core.auth.enabled 设置为 true 就行了. ###

[转帖]Nacos和Eureka的区别

Eureka架构图: Eureka架构图 1.服务注册(register):Eureka Client会通过发送REST请求的方式,向Eureka Server注册自己的服务。注册时,提供自身的元数据,比如ip地址、端口、运行状况指标、主页地址等信息。Eureka Server接收到注册请求后,就会

[转帖]nacos修改密码

https://www.cnblogs.com/cherish-code/p/14765862.html nacos修改默认的用户名密码 修改配置文件, vim nacos/conf/application.properties 在配置文件加入如下: spring.datasource.platfo

[转帖]Nacos的版本支持情况

https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E 由于 Spring Boot 3.0,Spring Boot 2.7~2.4 和 2.4 以下版本之间变化较大,目前企业

[转帖]重写Nacos服务发现逻辑动态修改远程服务IP地址

https://www.cnblogs.com/changxy-codest/p/14632574.html 背景 还是先说下做这个的背景,开发环境上了K8S,所有的微服务都注册在K8S内的Nacos,注册地址为K8S内部虚拟IP,K8S内的服务之间相互调用没有问题,但是本机开发联调调用其他微服务就