二. Nacos简介

633次阅读
没有评论

2.1 主流配置中心对比

目前市面上用的比较多的配置中心有:Spring Cloud Config、Apollo、Nacos 和 Disconf 等。由于 Disconf 不再维护,下面主要对比一下 Spring Cloud Config、Apollo 和 Nacos。

对比项 Spring Cloud Config Apollo Nacos
配置实时推送 支持(Spring Cloud Bus) 支持(HTTP 长轮询 1s 内) 支持(HTTP 长轮询 1s 内)
版本管理 支持(Git) 支持 支持
配置回滚 支持(Git) 支持 支持
灰度发布 支持 支持 不支持
权限管理 支持(依赖 Git) 支持 不支持
多集群 支持 支持 支持
监听查询 支持 支持 支持
多语言 只支持 java 主流语言,提供了 Open API 主流语言,提供了 Open API
配置格式校验 不支持 支持 支持
单机读(QPS) 7(限流所致) 9000 15000
单机写(QPS) 5(限流所致) 1100 1800
3 节点读(QPS) 21(限流所致) 27000 45000
3 节点写(QPS) 5(限流所致) 3300 5600
配置中心对比

从配置中心角度来看,性能方面 Nacos 的读写性能最高,Apollo 次之,Spring Cloud Config 依赖 Git 场景不适合开放的大规模自动化运维 API。功能方面 Apollo 最为完善,nacos 具有 Apollo 大部分配置管理功能,而 Spring Cloud Config 不带运维管理界面,需要自行开发。Nacos 的一大优势是整合了注册中心、配置中心功能,部署和操作相比 Apollo 都要直观简单,因此它简化了架构复杂度,并减轻运维及部署工作。

综合来看,Nacos 的特点和优势还是比较明显的,下面我们一起进入 Nacos 的世界。

2.2 Nacos 简介

Nacos 是阿里的一个开源产品,它是针对微服务架构中的服务发现、配置管理、服务治理的综合型解决方案。

2.3 Nacos 特性

Nacos 主要提供以下四大功能:

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

Nacos 支持基于 DNS 和基于 RPC 的服务发现。服务提供者使用  原生 SDKOpenAPI、或一个 独立的 Agent TODO注册 Service 后,服务消费者可以使用 DNS TODO  或HTTP&API 查找和发现服务。

Nacos 提供对服务的实时的健康检查,阻止向不健康的主机或服务实例发送请求。Nacos 支持传输层 (PING 或 TCP)和应用层 (如 HTTP、MySQL、用户自定义)的健康检查。对于复杂的云环境和网络拓扑环境中(如 VPC、边缘网络等)服务的健康检查,Nacos 提供了 agent 上报模式和服务端主动检测 2 种健康检查模式。Nacos 还提供了统一的健康检查仪表盘,帮助您根据健康状态管理服务的可用性及流量。

2.3.2 动态配置管理

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

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

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

Nacos 提供了一个简洁易用的 UI (控制台样例 Demo) 帮助您管理所有的服务和应用的配置。Nacos 还提供包括配置版本跟踪、金丝雀发布、一键回滚配置以及客户端配置更新状态跟踪在内的一系列开箱即用的配置管理特性,帮助您更安全地在生产环境中管理配置变更和降低配置变更带来的风险。

2.3.3 动态 DNS 服务

动态 DNS 服务支持权重路由,让您更容易地实现中间层负载均衡、更灵活的路由策略、流量控制以及数据中心内网的简单 DNS 解析服务。动态 DNS 服务还能让您更容易地实现以 DNS 协议为基础的服务发现,以帮助您消除耦合到厂商私有服务发现 API 上的风险。

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

2.3.4 服务和元数据管理

Nacos 能让您从微服务平台建设的视角管理数据中心的所有服务及元数据,包括管理服务的描述、生命周期、服务的静态依赖分析、服务的健康状态、服务的流量管理、路由及安全策略、服务的 SLA 以及最首要的 metrics 统计数据。

正文完
 
评论(没有评论)