近日,阿里巴巴新开源项目Nacos 发布了 v0.2 版本,该版本开始支持完整的Spring生态技术栈,这包括 Spring Framework、Spring Boot和Spring Cloud。
为了让更多的Spring用户可以在生产上基于 Nacos 做微服务平台的服务发现、配置管理、服务管控,Nacos v0.2版本向下兼容了大部分Spring生态的版本,这其中包括**SpringFramework 3.2.18+、Spring Boot 1.4.1+ 和 2.0.3+以及Spring Cloud E版、F版。
**
相比Consul、Eureka和Spring CloudConfig的原生解决方案,Nacos 计划在更适应云环境、多配置管理、容灾、管控、容量支撑和易运维等方面做更多的能力扩展,而在这次与Spring生态融合的设计上,则更多考虑了对于Spring Framework的直接支持,这将有助于用户将现有系统从Spring Framework平滑迁移到Spring Cloud微服务架构上。基于Nacos, 即便是Spring Framework开发的应用也可以通过使用简单注解来获取动态配置,进而实现微服务的能力。
Nacos将增强对微服务系统的集中管控
Nacos 正在有计划的增强产品对于服务列表,健康状态管理,服务治理,配置集中管理等方面的管控能力,以便进一步帮助用户降低采用和管理微服务应用架构的成本,在第一版的UI功能规划中,将提供包括下列基本功能:
- 服务列表及服务健康状态展示
- 服务元数据存储及编辑
- 服务流量权重的调整能力
- 服务上下线
- 服务及应用的配置管理
- 配置的版本及一键回滚能力
- 包括.xml,.yaml,.json,. 等配置格式的在线编辑器
- 配置导入导出
Nacos支持集群高可用部署模式
从v0.2版本开始,Nacos开始支持高可用的集群模式,向面向生产可用跨进了一步,在内部进行的 3 Docker节点(4核8G内存,千兆网卡,SSD盘) + 2节点MySQL主备高可用的集群容量性能测试中,Nacos可以支持约10万配置及服务,15000长链接,配置读取服务15000 QPS,服务数据读取QPS 10000,写的能力与采用的RDS(MySQL)数据库的写能力基本保持了一致,而根据阿里巴巴生产内部的实践,因为Nacos架构完全支持集群节点的横向扩展,所以极限支撑的容量能力可以满足大部分公司微服务发展的需求。
如何在生产上部署Nacos高可用集群
除此之外,社区正在计划持续构建开放的Benchmark工具并在未来保持对性能的持续调优。
DISS is cheap, show me your hand
比吐槽更重要的是搭把手,参与社区一起发展Nacos
Nacos 会坚持社区化发展,在第一年就吸收了超过5位来自其它公司的PMC和10位外部Committer,Nacos本身在很多方面都急需社区的帮助,以下几个方面都是可贡献和共建的重点方向:
- 在未来的产品和生产计划中使用、集成、共建 Nacos
- UI 前端及视觉大牛指导 Nacos 管控UI建设
- 提供与 Spring Cloud、Kubernetes、Service Mesh 等关联开源体系融合与集成工具和项目
- 贡献Nacos多语言客户端
- 提交需求,proposal,PR,bug fix 等
- 贡献文档
- 写文章分享自己与Nacos相关的故事
- 在Github上 star, 鼓励一下程序员GG
我们希望的PMC&Committer的吸纳的主要标准:
- 热情:对项目试图解决的问题充满热情
- 注重细节:项目贡献具备较高的代码标准
- 社区活动:积极参与项目社区活动并发表意见
- 志愿推动:对项目的成长和成功感兴趣
- 0-KPI:贡献不关乎KPI,只是爱好“开源”和“社区技术分享”这一口,为中国开源社区的影响力建设添砖加瓦
我们计划等Nacos产品及社区的发展步入正轨后,启动和CNCF基金会或Apache基金会沟通捐献事宜,社区贡献者会随即进入基金会体系,目前也正依托于Spring Cloud for Alibaba项目在积极与Spring Cloud社区互动,希望努力将Nacos推进到Spring Cloud官方支持的服务发现和配置管理选项之中。