近日,阿里巴巴新开源项目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开发的应用也可以通过使用简单注解来获取动态配置,进而实现微服务的能力。
| 微服务
正在成为应用架构领域的主流选择
根据 Dimensional Research 2018年对全球微服务采用趋势的最新调查显示:全球范围内,接近30%的企业已经开始在生产环境中基于微服务架构部署自己的应用系统,91%的用户有计划、正在验证使用或者已经在生产中使用微服务架构,对微服务架构无感的企业仅占9%。
此外,权威的技术分析咨询公司Gartner在2017年的一份报告中显示:微服务将成为应用架构领域的主流选择。
| 如何设计微服务架构
援引Gartner 2017年的报告《4步设计微服务敏捷架构》可以看到,微服务应用架构设计的首要决策点就是选择一个好用的分布式配置管理产品,将配置与环境及部署解耦合,同时选一个服务发现产品将解耦合的微服务勾连起来,让每个微服务能被发现和复用,从而促进微服务应用架构的扩展性和灵活性。
原文地址
| Nacos
支持云原生主流微服务生态
是阿里巴巴今年7月份新开源的项目,Nacos的主要愿景是期望通过提供易用的动态服务发现、服务配置管理、服务共享与管理的基础设施,帮助用户在云原生时代更好的构建、交付、管理自己的微服务平台。
微服务应用架构作为分布式系统的一种实现,其固有的复杂性提升了生产上的落地难度和实施风险,以Spring Cloud 为例,仅在生产上实现动态配置服务和服务发现,你可能就需要了解Eureka,Spring Cloud Config,Git 和 RabbitMQ 4个产品之多,同时还要在生产环境中保障它们符合高可用的SLA,更不用说在云环境中部署整套系统了。
Nacos 将服务发现、配置管理、推送及服务健康状态管理等基本功能打包在一个产品中,极大的降低了中小创业公司采用微服务的学习成本和生产上的实施成本。Nacos 脱胎于阿里巴巴10年服务化的沉淀,所以从一开始就非常注重面向生产特性方向上的持续演进。
| Nacos
将增强对微服务系统的集中管控
Nacos 正在有计划的增强产品对于服务列表,健康状态管理,服务治理,配置集中管理等方面的管控能力,以便进一步帮助用户降低采用和管理微服务应用架构的成本,在第一版的UI功能规划中,将提供包括下列基本功能:
服务列表及服务健康状态展示
服务元数据存储及编辑
服务流量权重的调整能力
服务上下线
服务及应用的配置管理
配置的版本及一键回滚能力
包括.xml,.yaml,.json,. 等配置格式的在线编辑器
配置导入导出
社区计划在下一个v0.3版本提供UI管控端的支持,目前社区正在发起投票确定其前端的技术方案以及颜色样式等,欢迎加入我们的投票活动:
投票链接
| Nacos
支持集群高可用部署模式
从v0.2版本开始,Nacos开始支持高可用的集群模式,向面向生产可用跨进了一步,在内部进行的 3 Docker节点(4核8G内存,千兆网卡,SSD盘) + 2节点MySQL主备高可用的集群容量性能测试中,Nacos可以支持约10万配置及服务,15000长链接,配置读取服务15000 QPS,服务数据读取QPS 10000,写的能力与采用的RDS(MySQL)数据库的写能力基本保持了一致,而根据阿里巴巴生产内部的实践,因为Nacos架构完全支持集群节点的横向扩展,所以极限支撑的容量能力可以满足大部分公司微服务发展的需求。
如何在生产上部署Nacos高可用集群
除此之外,社区正在计划持续构建开放的Benchmark工具并在未来保持对性能的持续调优。
构建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
“目前最快的贡献记录是2天!! 这个荣誉属于牛逼的 @Neptune 兄弟,他已经在他的 Nepxion/Discovery 项目中成功集成了Nacos!” Nacos 老司机坤宇抑制不住心中的激动说道。
在本期的推文中,我们也推送了@Neptune的实践分享《》
我们希望的PMC&Committer的吸纳的主要标准:
热情:对项目试图解决的问题充满热情
注重细节:项目贡献具备较高的代码标准
社区活动:积极参与项目社区活动并发表意见
志愿推动:对项目的成长和成功感兴趣
0-KPI:贡献不关乎KPI,只是爱好“开源”和“社区技术分享”这一口,为中国开源社区的影响力建设添砖加瓦
我们计划等Nacos产品及社区的发展步入正轨后,启动和CNCF基金会或Apache基金会沟通捐献事宜,社区贡献者会随即进入基金会体系,目前也正依托于Spring Cloud for Alibaba项目在积极与Spring Cloud社区互动,希望努力将Nacos推进到Spring Cloud官方支持的服务发现和配置管理选项之中。
关联阅读
点击下方图片即可阅读