Nacos
Nacos(官网 site: https://nacos.io) 致力于帮助您发现、配置和管理您的微服务。它提供了一组简单而有用的特性,使您能够实现动态服务发现、服务配置管理以及服务和流量管理。
Nacos使您更容易、更快地构建、交付和管理微服务平台。它是支持以服务为中心的现代应用程序体系结构的基础设施,该体系结构采用微服务或云本机方法。
什么是Nacos?
服务(Service)是Nacos的一等公民。Nacos支持几乎所有主流类型的“服务”的发现、配置和管理:
Kubernetes Service
gRPC
| Dubbo RPC Service
Spring Cloud RESTful Service
Nacos的主要特点:
-
服务发现和服务运行状况检查
Nacos支持基于DNS的服务发现和基于RPC(Dubbo/gRPC)的服务发现。在生产者使用[native sdk TODO](xx)、[OpenAPI TODO](xx)或[a dedicated agent TODO](xx)注册服务后,使用者可以使用[DNS TODO](xx)或[HTTP TODO](xx)发现服务。Nacos提供实时运行状况检查,以防止服务向不正常的主机或服务实例发送请求。Nacos支持传输层(ping或tcp)健康检查和应用层(如http、redis、MySQL和用户定义)健康检查。对于复杂云和网络拓扑(如VPC、边缘服务等)的健康检查,Nacos提供了代理模式和服务器模式。Nacos还提供一个unity服务健康仪表板,帮助您管理服务的可用性和流量。
-
动态配置管理
动态配置服务可以让您以中心化、外部化和动态化的方式管理所有环境的应用配置和服务配置。动态配置消除了配置变更时重新部署应用和服务的需要,让配置管理变得更加高效和敏捷。
配置中心化管理让实现无状态服务变得更简单,让服务按需弹性扩展变得更容易。
Nacos 提供了一个简洁易用的UI (控制台样例 Demo) 帮助您管理所有的服务和应用的配置。Nacos 还提供包括配置版本跟踪、金丝雀发布、一键回滚配置以及客户端配置更新状态跟踪在内的一系列开箱即用的配置管理特性,帮助您更安全地在生产环境中管理配置变更和降低配置变更带来的风险。
-
动态 DNS 服务
动态 DNS 服务支持权重路由,让您更容易地实现中间层负载均衡、更灵活的路由策略、流量控制以及数据中心内网的简单DNS解析服务。动态DNS服务还能让您更容易地实现以 DNS 协议为基础的服务发现,以帮助您消除耦合到厂商私有服务发现 API 上的风险。Nacos 提供了一些简单的 DNS APIs TODO 帮助您管理服务的关联域名和可用的 IP:PORT 列表。
服务及其元数据管理
Nacos允许您从微服务平台构建器的角度管理所有服务和元数据。这包括管理服务描述、生命周期、服务静态依赖关系分析、服务运行状况、服务流量管理、路由和安全规则、服务SLA和一线度量。