Nacos:是什么?解决的问题?存在的问题?

简介: Nacos:是什么?解决的问题?存在的问题?

Nacos 是阿里巴巴2018年7月份开源的项目,如其名, Naming and Configuration Service ,专注于服务发现和配置管理领域。


Nacos 是什么?

Nacos 是一个更易于帮助构建云原生应用的动态服务发现、配置和服务管理平台,提供「注册中心」、「配置中心」和「动态DNS服务」三大功能。


动态配置服务

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

动态配置消除了配置变更时重新部署应用和服务的需要。

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


服务发现管理

动态服务发现对以服务为中心的(例如微服务和云原生)应用架构方式非常关键。

Nacos支持DNS-Based和RPC-Based(Dubbo、gRPC)模式的服务发现。

Nacos也提供实时健康检查,以防止将请求发往不健康的主机或服务实例。

借助Nacos,您可以更容易地为您的服务实现断路器。


动态DNS服务

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

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

使用 Nacos 简化服务发现、配置管理、服务治理及管理的解决方案,让微服务的发现、管理、共享、组合更加容易。


Nacos 解决的问题

服务配置的动态管理

我们的配置一般都通过如下几种形式存在

  • 硬编码--作为类字段的形式存在,导致:动态修改困难,没有持久化
  • 配置文件( properties、yml 文件等)--导致:配置动态变更,可能需要重启应用,让配置生效。当然,你也可以在代码中增加一个定时任务,如每隔 10s 读取配置文件内容,让最新的配置能够及时在应用中生效,这样也就免去了重启应用这个“较重”的运维操作。
  • DB 配置表--导致:配置动态变更,可能需要通过暴露管理接口去解决。

Nacos 真正将配置从应用中剥离出来,统一管理,优雅的解决了配置的动态变更、持久化、运维成本等问题。

应用自身既不需要去添加管理配置接口,也不需要自己去实现配置的持久化,更不需要引入“定时任务”以便降低运维成本。Nacos 提供的配置管理功能,将配置相关的所有逻辑都收拢,并且提供简单易用的 SDK,让应用的配置可以非常方便被 Nacos 管理起来


服务的动态发现

动态服务发现对以服务为中心的(例如微服务和云原生)应用架构方式非常关键。

Nacos支持DNS-Based和RPC-Based(Dubbo)模式的服务发现。

Nacos也提供实时健康检查,以防止将请求发往不健康的主机或服务实例。

借助Nacos,您可以更容易地为您的服务实现断路器。

不仅如此,Nacos提供 DNS-F功能, 可以与K8S、Spring Cloud和Dubbo等多个开源产品进行集成,实现服务的注册功能。


实现权重路由,动态DNS服务

DNS都是IP策略的就近解析。

Nacos通过支持权重路由,动态DNS服务能让您轻松实现中间层负载均衡、更灵活的路由策略、流量控制以及简单数据中心内网的简单DNS解析服务。

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

 


Nacos 存在的问题

1. 不能支持多种类型的数据库,如:Oracle、PostgreSQL、DB2等

如果启动多个默认配置下的Nacos节点,数据存储是存在一致性问题的。

为了解决这个问题,Nacos采用了集中式存储的方式来支持集群化部署,目前只支持MySQL的存储。


2. 不支持配置加密

服务配置信息,我们通常需要敏感配置加密存储和传输,保证数据安全


3.  不支持gRPC和Thrift服务发现

Thrift、gRPC是RPC中的重要实现


4. 不支持对接Kubernetes中的configMap

暂时不能和Kubernetes的配置进行打通


5. 不支持配置发布审批

配置发布管控体系,减少人为失误引起的故障


参考链接:

https://grpc.io/docs/

https://zhuanlan.zhihu.com/p/56782065

https://nacos.io/zh-cn/blog/5w1h-what.html

https://nacos.io/zh-cn/blog/nacos-roadmap.html



目录
相关文章
|
2月前
|
Nacos
|
9月前
|
存储 关系型数据库 MySQL
Nacos 2.0.3和Nacos 2.2.3版本
Nacos 2.0.3和Nacos 2.2.3版本
516 1
|
8月前
|
负载均衡 前端开发 网络协议
是时候了解下 nacos 了!(一)
是时候了解下 nacos 了!(一)
|
4月前
|
Nacos
Nacos的某些配置
Nacos的某些配置
39 2
|
5月前
|
存储 运维 网络安全
Nacos使用总结
Nacos使用总结
109 0
|
11月前
|
Nacos
Nacos 配置文件属性说明
Nacos 配置文件属性说明
156 0
|
8月前
|
存储 负载均衡 Java
Nacos
Nacos
563 0
|
8月前
|
负载均衡 网络协议 前端开发
是时候了解下 nacos 了!(二)
是时候了解下 nacos 了!(二)
|
8月前
|
网络协议 Java 测试技术
详解Nacos
详解Nacos
259 0
|
8月前
|
SQL 关系型数据库 MySQL
nacos安装及使用
nacos安装及使用
147 0