2018年,阿里巴巴开源 Nacos,由此成为继
Eureka、Consul、Apollo
等服务注册发现&配置的又一开源框架,到如今2021年,Nacos 已经历了0.01->1.4.2/2.0.1
版本的迭代,社区也非常的活跃,Github 上拥有超过18k
的star
和7k
的fork
;使用 Nacos 作为服务管理平台的公司也越来越多,包括阿里、爱奇艺、平安、虎牙、贝壳
等互联网公司,业内也对 Nacos 越来越认可,Spring Could、Spring Could Alibaba
等开源框架也越来越多的支持了 Nacos,所以我们也需要学习并使用 Nacos;本文将从 Nacos 的理念和架构开始,详细描述 Nacos 的组成及部署,让读者更好的理解和使用 Nacos。
1.什么是 Nacos?
官方描述:一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。
Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。
Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。
愿景:Nacos 通过提供简单易用的动态服务发现、服务配置、服务共享与管理等服务基础设施,帮助用户在云原生时代,在私有云、混合云或者公有云等所有云环境中,更好的构建、交付、管理自己的微服务平台,更快的复用和组合业务服务,更快的交付商业创新的价值,从而为用户赢得市场。
2.功能有哪些?
动态配置服务
动态配置服务让您能够以中心化、外部化和动态化的方式管理所有环境的配置。动态配置消除了配置变更时重新部署应用和服务的需要。配置中心化管理让实现无状态服务更简单,也让按需弹性扩展服务更容易。
服务发现及管理
动态服务发现对以服务为中心的(例如微服务和云原生)应用架构方式非常关键。Nacos支持DNS-Based和RPC-Based(Dubbo、gRPC)模式的服务发现。Nacos也提供实时健康检查,以防止将请求发往不健康的主机或服务实例。借助Nacos,您可以更容易地为您的服务实现断路器。
动态DNS服务
通过支持权重路由,动态DNS服务能让您轻松实现中间层负载均衡、更灵活的路由策略、流量控制以及简单数据中心内网的简单DNS解析服务。动态DNS服务还能让您更容易地实现以DNS协议为基础的服务发现,以消除耦合到厂商私有服务发现API上的风险。
3.特性有哪些?
易于使用
动态配置管理、服务发现和动态的一站式解决方案20多种开箱即用的以服务为中心的架构特性基本符合生产要求的轻量级
更适应云架构
无缝支持Kubernetes和Spring Cloud在主流公共云上更容易部署和运行(例如阿里云和AWS)多租户和多环境支持
生产等级
脱胎于历经阿里巴巴10年生产验证的内部产品支持具有数百万服务的大规模场景具备企业级SLA的开源产品
丰富的应用场景
支持限流、大促销预案和异地多活直接支持或稍作扩展即可支持大量有用的互联网应用场景流量调度和服务治理