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

描述主要开发者状态排期
对接第三方CMDBnkorangebeta0.7.0

地址服务器

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

描述主要开发者状态排期
支持Nacos寻址pbtingbeta1.1.0

Nacos内核

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

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

安全与稳定性

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

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

代码质量

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

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

云原生

描述主要开发者状态排期
对接Istionkorangebeta1.1.4
对接ConfigMap排期中
对接CoreDNSJianweiWangbeta0.1.0
对接SPIFFE排期中

客户端

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

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

Nacos-Docker

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

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

Nacos-K8s

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

描述主要开发者状态排期
K8s部署Nacos Serverpaderlol稳定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合并后,即可开始认领下个任务。