Nacos,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。这是官网对Nacos的定义。
一、功能
- 动态配置服务:以中心化、外部化和动态化的方式管理所有环境的配置。动态配置消除了配置变更时重新部署应用和服务的需要。 配置中心化管理让实现无状态服务更简单,也让按需弹性扩展服务更容易。
- 服务发现及管理:Nacos支持DNS-Based和RPC-Based(Dubbo、gRPC)模式的服务发现。Nacos也提供实时健康检查,以防止将请求发往不健康的主机或服务实例。
- 动态DNS服务:通过支持权重路由,动态DNS服务轻松实现中间层负载均衡、更灵活的路由策略、流量控制以及简单数据中心内网的简单DNS解析服务。
简单来讲,nacos继承了配置中心、服务注册中心、DNS功能。
至于作为配置中心和apollo的对比,apollo支持灰度发布和权限管理,这两项nacos目前的版本还不支持,目前项目中使用apollo配置中心,nacos注册中心来用的。
- 灰度发布:配置的灰度发布是配置中心比较重要的功能,当配置的变更影响比较大的时候,需要先在部分应用实例中验证配置的变更是否符合预期, 然后再推送到所有应用实例。
- 权限管理:配置的变更和代码变更都是对应用运行逻辑的改变,对于配置变更的权限管控和审计能力同样是配置中心重要的功能。