本文列举了目前Nacos支持的主要功能和一些还未支持的需求排期,方便读者了解目前Nacos已经支持和计划支持的能力,同时所有计划支持的能力都开放给开发者进行认领,本文末有详细的认领教程。
在下面的表格中,每个需求都有一个状态的标志,包含若干种取值,各种取值的含义如下:
状态的取值:
不支持:该功能还不支持,且没有在现在的时间表里有任何排期;
排期中:该功能还不支持,但是已经放到了时间表里,有希望在后面的某个版本支持;
设计中:表示该功能正在方案设计中,方案的草稿和终稿都会开放访问,供大家讨论;
开发中:表示该功能设计方案已经确定,正在有对应的开发者进行开发,会在接下来的某个版本正式发布;
beta:该功能已经发布,但是未经过大规模的用户验证,还不能确保稳定性;
稳定:表示已经迭代至少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稳定1.4.1异步通知机制统一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客户端sanweibetaC#客户端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.0Nacos与Zookeeper服务双向同步paderlol稳定0.3.0Nacos与Eureka服务双向同步paderlol稳定0.3.0Nacos与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的时候有几点需要注意下:
比较重大的特性需要有方案文档:https://github.com/alibaba/nacos/issues/858
已经阅读并遵守共建规范: https://github.com/alibaba/nacos/blob/master/CONTRIBUTING.md
使用github账户提交代码,这样大家才会在contributor列表看到自己的名字;
commit信息要带上issue id,这样才能在issue里看到PR的进度;
代码中不要出现中文注释,提交前要格式化,并添加必要的集成测试用例和单元测试用例;
提PR前运行mvn -Prelease-nacos clean install -U和mvn clean install -Pit-test成功;
任务认领原则:每人一次最多领取两个任务,任务PR合并后,即可开始认领下个任务。