欢迎来到 Nacos 的世界!

Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。

Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。

什么是Nacos?

服务(Service)是Nacos世界的一等公民.Nacos支持几乎所有主流类型的"服务"的发现,配置和管理:

Kubernetes Service

gRPC & Dubbo RPC Service

Spring Cloud RESTful Service

Nacos的关键特性包括:

  • 服务发现和服务健康监测

   Nacos支持基于DNS和基于RPC的服务发现. 服务提供者使用 原生SDK, OpenAPI, 或一个独立的Agent TODO注册Service后,

   服务消费者可以使用DNS TODO或HTTP&API查找和发现服务.

   Nacos提供对服务的实时的健康检查,阻止向不健康的主机或服务实例发送请求. Nacos支持传输层(PING或TCP)和应用层(如HTTP,MySQL,用户自定义)的健康检查. 对于复杂的云环境和网络拓扑环境中(如 VPC, 边缘网络等) 服务的健康检查, Nacos提供了agent

上报模式和服务端主动检测2种健康检查模式. Nacos还提供了统一的健康检查仪表盘, 帮助您根据健康状态管理服务的可用性及流量.

  • 动态配置服务

   动态配置服务可以让您以中心化,外部化和动态化的方式管理所有环境的应用配置和服务配置.

   动态配置消除了配置变更时重新部署应用和服务的需要,让配置管理变得更加高效和敏捷.

   配置中心化管理让实现无状态服务变得更简单,让服务按需弹性扩展变得更容易.

   Nacos提供了一个简洁易用的UI帮助您管理所有的服务和应用的配置.Nacos还提供包括配置版本跟踪,金丝雀发布,一键回滚配置

   以及客户端配置更新状态跟踪在内的一系列开箱即用的配置管理特性,帮助您更安全地在生产环境中管理配置变更和降低配置变更带来

   的风险.

  • 动态DNS服务

   动态DNS服务支持权重路由,让您更容易地实现中间层负载均衡,更灵活的路由策略,流量控制以及数据中心内网的简单DNS解析服务.

   动态DNS服务还能让您更容易地实现以DNS协议为基础的服务发现,以帮助您消除耦合到厂商私有服务发现API上的风险.

   Nacos提供了一些简单的DNS APIs TODO帮您管理服务的关联域名和可用的IP:PORT列表.

  • 服务及其元数据管理

   Nacos能让您从微服务平台建设的视角管理数据中心的所有服务及元数据,包括管理服务的描述,生命周期,服务的静态依赖分析,服务的

   健康状态,服务的流量管理,路由及安全策略,服务的SLA以及最首要的metrics统计数据.

 

---

Nacos服务发现提供与其他服务发现产品不太一样的机制以及概念,这里稍作介绍,下文中的内容都会多次提到这里介绍的概念,因此掌握这些概念,对于用好Nacos服务发现至关重要.

不同于Consul,Eureka(用过),, Nacos的服务发现使用的领域数据模型是服务-集群-实例这样的三层结构,最上面是服务,注册端(服务发布者)和订阅端(服务消费者)使用服务来与其他服务做区分,服务发现中,服务是必须指定的. 集群则是一间一层,一个服务又会划分为多个集群,每个集群都有它的自定义配置,Nacos提供了一个默认集群和相应的默认配置,在不需要多集群的场景下,可以不用指定集群.最下一层是实例,每个集群又会包含多个实例,这样对服务进行发现时,可以发现多个集群的所有实例,也可以指定集群,来发现特定集群的实例.

 

配置管理