Documentation

Nacos功能和需求列表

本文列举了目前Nacos支持的主要功能和一些还未支持的需求排期,方便读者了解目前Nacos已经支持和计划支持的能力,同时所有计划支持的能力都开放给开发者进行认领,本文末有详细的认领教程。

在下面的表格中,每个需求都有一个状态的标志,包含若干种取值,各种取值的含义如下:

  1. 状态的取值:
  2. 不支持:该功能还不支持,且没有在现在的时间表里有任何排期;
  3. 排期中:该功能还不支持,但是已经放到了时间表里,有希望在后面的某个版本支持;
  4. 设计中:表示该功能正在方案设计中,方案的草稿和终稿都会开放访问,供大家讨论;
  5. 开发中:表示该功能设计方案已经确定,正在有对应的开发者进行开发,会在接下来的某个版本正式发布;
  6. beta:该功能已经发布,但是未经过大规模的用户验证,还不能确保稳定性;
  7. 稳定:表示已经迭代至少4个版本,目前没有反馈重大缺陷;

服务发现

代码地址:https://github.com/alibaba/nacos/tree/develop/naming

描述 主要开发者 状态 排期
服务注册与发现 nkorange 稳定 0.1.0
健康检查(服务端探测、客户端心跳) xuanyin 稳定 0.1.0
路由策略(权重、保护阈值、就近访问) wangjianwei 稳定 0.1.0

配置管理

代码地址:https://github.com/alibaba/nacos/tree/develop/config

描述 主要开发者 状态 排期
配置管理(发布、修改、查询、监听配置) yanlinly 稳定 0.1.0
灰度配置 yanlinly 稳定 1.1.0
加密配置 不支持

元数据管理

代码地址:https://github.com/alibaba/nacos/tree/develop/cmdb

描述 主要开发者 状态 排期
对接第三方CMDB nkorange beta 0.7.0

地址服务器

代码地址:https://github.com/alibaba/nacos/tree/develop/address

描述 主要开发者 状态 排期
支持Nacos寻址 pbting beta 1.1.0

Nacos内核

代码地址:https://github.com/alibaba/nacos/tree/develop/core

描述 主要开发者 状态 排期
去除MySQL依赖 chuntaojun 设计中
Raft协议替换成JRaft chuntaojun 设计中
异步通知机制统一 wfnuser 设计中
线程模块统一 排期中
传输通道统一 nkorange 设计中
推送模块统一 satjd 设计中
启动模块统一 排期中

安全与稳定性

代码地址:https://github.com/alibaba/nacos

描述 主要开发者 状态 排期
命名空间模块下沉为公共模块 排期中
权限控制,包括认证与鉴权 nkorange 开发中 1.2.0
操作审计与记录 排期中
支持加密传输 排期中
OpenTracing对接 排期中
metrics收集 TsingLiang 稳定 0.8.0
缓存容灾机制统一 排期中
支持命令行运维 排期中
数据自动备份 排期中
限流模块 排期中
容量管理 排期中

代码质量

代码地址:https://github.com/alibaba/nacos

描述 主要开发者 状态 排期
工具类模块统一 排期中
常量定义统一 排期中
异常处理模块统一 排期中
日志模块统一 排期中
系统参数模块统一 排期中
依赖统一 排期中
状态码模块统一 KeRan213539 设计中

云原生

描述 主要开发者 状态 排期
对接Istio nkorange beta 1.1.4
对接ConfigMap 排期中
对接CoreDNS JianweiWang beta 0.1.0
对接SPIFFE 排期中

客户端

客户端支持包含了目前已知的Nacos多语言客户端及Spring生态的相关客户端,除了Java客户端和Go客户端,其他均为社区热心贡献者开发,如果您有新的语言的客户端,或者有目前已经支持的语言的客户端的另外一个实现,欢迎在github上留言进行登记。

描述 主要开发者 状态
Java客户端 Nacos 稳定
Go客户端 atlanssia, lzp0412 稳定
Node.js客户端 czy88840616, gxcsoccer 稳定
Python客户端 sanwei beta
C#客户端 catcherwong 推荐
C++客户端
PHP客户端
Spring客户端 chuntaojun 稳定
SpringBoot客户端 chuntaojun 稳定

Nacos-Docker

代码地址:https://github.com/nacos-group/nacos-docker

描述 主要开发者 状态 排期
Docker部署Nacos Server paderlol 稳定 0.1.0

Nacos-K8s

代码地址:https://github.com/nacos-group/nacos-k8s

描述 主要开发者 状态 排期
K8s部署Nacos Server paderlol 稳定 0.1.0

Nacos-Sync

代码地址:https://github.com/nacos-group/nacos-sync

描述 主要开发者 状态 排期
Nacos与Nacos服务双向同步 paderlol 稳定 0.1.0
Nacos与Zookeeper服务双向同步 paderlol 稳定 0.3.0
Nacos与Eureka服务双向同步 paderlol 稳定 0.3.0
Nacos与Consul服务双向同步 paderlol 稳定 0.3.0

Nacos官网

代码地址:https://github.com/nacos-group/nacos-group.github.io

描述 主要开发者 状态 排期
支持页面内锚链接 不支持

参与共建

参与共建能得到什么?

参与Nacos共建,你将有机会让你的代码被全中国甚至全世界的用户阅读并使用,同时在成为Nacos Committer后(如何成为Nacos Committer可以参考手册),还可以有以下福利:

  • 在Nacos官网团队页留名;
  • 收到我们带Nacos logo的小礼物,有T恤、水杯、帽衫等等;
  • 代表Nacos参加各种线上线下活动,与更多小伙伴交流;
  • 更多我们还在筹划中的福利;

如何共建

除了在上面列举的功能和需求,其他的在github仓库上打上了contribution welcome或者help wanted标签的issue,也非常欢迎大家提交代码贡献。加入Nacos 社区核心贡献小组钉钉群23335652,联系群管理员认领需求。

大家提PR的时候有几点需要注意下:

  1. 比较重大的特性需要有方案文档:https://github.com/alibaba/nacos/issues/858
  2. 已经阅读并遵守共建规范: https://github.com/alibaba/nacos/blob/master/CONTRIBUTING.md
  3. 使用github账户提交代码,这样大家才会在contributor列表看到自己的名字;
  4. commit信息要带上issue id,这样才能在issue里看到PR的进度;
  5. 代码中不要出现中文注释,提交前要格式化,并添加必要的集成测试用例和单元测试用例;
  6. 提PR前运行mvn -Prelease-nacos clean install -U和mvn clean install -Pit-test成功;

任务认领原则:每人一次最多领取两个任务,任务PR合并后,即可开始认领下个任务。