作者:于怀

Nacos 是什么?

Nacos/n:ks/ 是 Dynamic Naming and Configuration Service 的首字母简称,定坐落一个更易于构建云原生运用的动态服务发现、装备办理和服务办理渠道。从 2018 年 7 月开端宣布开源以来,现已走过了第四个年头,在这四年里,备受广大开源用户欢迎,共收成 23.3K 的 star 数10.3K 的 Fork 数,在开源我国发布的 2021 年度 OSC 我国开源项目评选中,Nacos 被评为云原生范畴人气指数 Top5 的项目,发布电子书《Nacos 架构与原理》6w+阅读量,2w 下载量,发布半年的时刻里在阿里云藏经阁前史下载榜前十。Nacos 在社区一起的建造下不断生长,逐渐的开端协助用户处理实际问题,助力企业数字化转型,现在现已广泛的运用在国内的公司中,依据微服务范畴查询问卷,Nacos 在注册装备中心范畴现已成为国内首选,占有 50%+国内市场份额,被头部企业广泛运用!

《2022 我国开源展开蓝皮书》由我国开源软件推进联盟(COPU)牵头,联合我国开发者网络(CSDN)、北京开源立异委员会、敞开原子开源基金会、我国电子信息产业展开研究院、中科院软件研究所等 85 家企业及职业机构、120 多位开源专家和志愿者一起协作编撰完成,旨在全面展示当时我国开源展开的全景图,为国家政府相关办理部门、科研院所、科技企业以及开源从业者供给更多的理论参考和数据支撑,进一步助力我国开源生态的蓬勃展开。

依据最近刚发布的《2022 我国开源展开蓝皮书》陈述中显示,Github 我国项目活跃度 TOP 20,Nacos 排名全国第六,作为根底类型云原生中间件,能有如此活跃度是十分不容易的,在上一年度《2021 我国开源展开蓝皮书》中,Nacos 排名全国第十,也表现 Nacos 不仅仅维持高的项目活跃度,而且项目关注度和活跃度还在逐渐进步。

我们总结了 3 大使用建议,并首次公开 Nacos 3.0 规划图 | Nacos 开源 4 周年

我们总结了 3 大使用建议,并首次公开 Nacos 3.0 规划图 | Nacos 开源 4 周年

同时阿里巴巴在国内企业中开源影响力排行榜首,在《2022 我国开源展开蓝皮书》中介绍:“阿里巴巴是国内参加开源技术生态建造的企业模范。自 2011 年至今,阿里累计开源项目超过 3000 个,代表性的项目包括龙蜥操作系统、Apache RocketMQ、Apache Dubbo、Spring Cloud Alibaba、 Nacos、Seata、PolarDB-X、PolarDB for PostgreSQL 等”。

Nacos 是阿里巴巴微服务范畴开源项目的活跃度排行榜首,也得益于开源协作模式,而且在 Nacos 中有许多国内外闻名公司的中心奉献者,其中也包括上任在腾讯、华为、小米等等闻名企业的同学,也正是社区全体的奉献者和用户在协助 Nacos 生长,让 Nacos 逐渐完善生态,支撑简直一切干流语言,整合更多开源生态,也正是用户和社区奉献者让 Nacos 为企业数字化转型首选产品。

我们总结了 3 大使用建议,并首次公开 Nacos 3.0 规划图 | Nacos 开源 4 周年

Nacos 运用上的 3 点重要主张

Nacos 版别挑选

Nacos 经过 4 年的展开,现在在大版别演进上现已到了第二代 Nacos 架构,即 Nacos 2.x 版别,Nacos 2.x 版别是根据 Nacos 1.x 中用户反应运用习气以及产品演进方向而构建的产品才能,中间包括了比如一致性算法晋级,对功能的 10 倍进步,以及支撑插件化来满足社区的定制诉求。而且保证了很好的兼容性,在服务才能上 Nacos 2.x 是彻底兼容 Nacos 1.x 的协议,也便是 Nacos 2.x 服务端是彻底兼容 Nacos 1.x 的客户端。

我们总结了 3 大使用建议,并首次公开 Nacos 3.0 规划图 | Nacos 开源 4 周年

在根本才能上,Nacos 2.x 一致性协议复用了阿里在该范畴最佳实践,以长连接为根底,减低通讯损耗,根据 Distro 协议原有协议进行晋级,在存储模型、保活模型进步行了重构,而且用推送机制替代了之前的轮训机制,进一步进步了产品的高可用以及安稳性,全体也复用了阿里百万实例的根底模型,在 CAP 理论根底上,依据场景往来不断挑选最适合的协议,贴合场景来平衡一致性、高可用以及分区容灾,做到服务发现以及装备办理每个场景下,都做到安稳性、高可用、高功能的保证。

我们总结了 3 大使用建议,并首次公开 Nacos 3.0 规划图 | Nacos 开源 4 周年

在拓宽才能上,Nacos 2.x 版别开端支撑插件化才能,根据插件化是更方便的支撑用户各种场景,许多用户公司内部有完善的体系根据 Nacos 能够简略的改造就能够交融进入,在鉴权、装备加解密场景都能够做到依照用户需求进行定制,而且给出默许的开源完成供用户挑选,加解密为例,开源给出的默许完成是根据 AES,用户也能够进行自定义。而且现在数据库的插件现已在路上,后续还会在安全等更多方面支撑可插拔的插件化才能。

我们总结了 3 大使用建议,并首次公开 Nacos 3.0 规划图 | Nacos 开源 4 周年

Nacos 支撑还能支撑哪些场景

Nacos 根本中心才能是面向于全体分布式的服务注册与发现,以及分布式节点装备办理,运用范畴能够说是十分广泛的,比较常用的包括,微服务范畴、高可用范畴、内容范畴以及数据库范畴等,现在在微服务范畴 Nacos 根本才能运用最广,微服务范畴定位在一站式处理了用户运用的寻址、流量、装备场景服务渠道,在高可用范畴 Nacos 积累了许多的经验,能够完成许多降级、容灾、多活的高可用场景,也能够支撑内容分发以及数据库分库分表、主备切换等场景的根底才能,能够说分布式的场景下,根本都能够跟 Nacos 进行构建,也协助事务后续拓宽留足了准备。

我们总结了 3 大使用建议,并首次公开 Nacos 3.0 规划图 | Nacos 开源 4 周年

Nacos 排查问题最佳实践

注册装备中心在分布式节点交互中起着重要的作用,在事务分布式场景呈现问题的时分需求快速进行诊断,判别是否是注册装备中心呈现了问题,还是事务层的问题。

我们总结了 3 大使用建议,并首次公开 Nacos 3.0 规划图 | Nacos 开源 4 周年

在注册中心中,服务发现是事务排查问题榜首优先级需求定位的,服务发现具体对应的便是服务地址数据是否同步到了事务节点上,那在 Nacos 场景上,推送记载便是最关键的一个特性才能,这部分才能能够经过 Nacos 日志查询到,现在 Nacos 社区现已开端计划规划事情中心来支撑这部分才能,为了更好的演示,这儿也经过阿里云微服务引擎 MSE 展示一下白屏化的推送轨道才能,用户能够经过服务名称或许客户端 IP,进行查询改变的时刻以及改变的内容,就能够快速清晰当时注册中心是否存在问题,而且能帮住事务进一步定位具体原因。

我们总结了 3 大使用建议,并首次公开 Nacos 3.0 规划图 | Nacos 开源 4 周年

在装备中心链路,相同存在榜首时刻定位的问题,这儿也经过阿里云微服务引擎 MSE 的最佳实践,推送轨道才能展示排查的思路,能够经过装备名称或许订阅者客户端 IP 进行查询装备的改变时刻,以及推送时刻,以及推送内容 MD5 值进行匹配。

我们总结了 3 大使用建议,并首次公开 Nacos 3.0 规划图 | Nacos 开源 4 周年

而且在分布式装备办理范畴,经过补全推送轨道才能,加上现已支撑的前史版别查询才能,能够协助事务全流程的观测装备的生命周期。

我们总结了 3 大使用建议,并首次公开 Nacos 3.0 规划图 | Nacos 开源 4 周年

关于注册装备中心排查问题的思路上,总结是两个重点,一是数据改变承认,二是快速承认关系而且进行康复。大多数场景假如是事务改变引起的,一定要榜首时刻进行回忆改变,避免给事务带来问题。在安稳性要求比较高的范畴,主张事务体系上面向 1-5-10(故障 1 分钟发现,5 分钟上线处理,10 分钟康复)建造安稳性,这部分也是比较通用的才能建造,这儿就不进行具体拓宽,后续有时机能够单独聊一下。

Nacos 规划

Nacos 现现已历了两个重要阶段,初创期和高速展开期,现在正处于被大规模运用的 Nacos 的第三阶段是成为根底设施,需求面向于根底设施进行演进,协助企业数字化转型,深度的拥抱各个范畴内的场景,而且更深度的协助企业处理问题。Nacos 社区现在面向于第三阶段,开端准备 Nacos 3.0 架构规划进行规划评论,而且逐渐开端进行落地。

现在针对 Nacos 3.0 的建造规划大图主要包括三部分,榜首部分是开源品牌和社区的晋级,主要是面向于社区树立更严密的联络。第二部分是面向更多生态进行深度交融,包括 K8s 数据整合、以及多生态数据打通,第三部分是最根底的部分,产品才能晋级,根据 Nacos2.x 的协议进行增强,而且支撑一致控制面、多数据中心等根底才能,用于支撑 Nacos 3.0 生态建造以及品牌晋级。

现在 Nacos 3.0 部分现已跟着社区中心奉献者展开中,大多数还在规划阶段,后续会经过 Github issues 进行敞开,随之会打上 Nacos 3.0 的标签,欢迎我们进行收取一起参加到 Nacos 3.0 的奉献。

我们总结了 3 大使用建议,并首次公开 Nacos 3.0 规划图 | Nacos 开源 4 周年

参加开源主张

最终部分整合我个人意见,向没有参加过开源的同学给出一些参加开源的主张,首要我认为开源关于开发者以及社区奉献都是十分有利的,假如你有时刻而且也想参加开源,那我主张你从以下四个过程进行深入:

榜首步找到自己感爱好的方向,这个点比较重要,会影响你后续奉献的持久程度,当然这个也是在逐渐探索中的,不过假如关于方向承认好后,应对的产品列表挑选就会比较明朗了,在这个过程考虑爱好是我首要主张的,其次我主张,也能够考虑当时项目一些具体信息,重点考虑是否能协助个人把价值的扩大,运用范围越广的项目就越能让你的奉献在社会价值扩大,也正向会进步成就感。

第二步是了解项目和产品,找到了方向和项目之后,就能够开端着手了解当时产品的细节,了解当时项目的运营机制,以及面向于产品开端接触对应范畴问题,范畴问题最终会沉积成为你对这个范畴的经验。

第三步其实就能够奉献开源了,这一个过程其实面向于前两过程是能够适当提早并行做,关键是从小问题入手做起,这样能够协助你在前两个过程中更快的找到感觉,也能从小问题开端协助他人,在社区中树立个人影响力。

第四步其实是水到渠成的,面向于活跃的社区,当你满足了解该范畴该产品之后,有了满足的奉献,就会在开源中逐渐主导社区的决策,也能在社区中协助更多的人展开共建。

我们总结了 3 大使用建议,并首次公开 Nacos 3.0 规划图 | Nacos 开源 4 周年

上边是对个人奉献开源产品流程主张,适用于大多数开源项目的奉献。额外在开源上我觉得 Nacos 是不错的挑选,首要产品定位是比较根底,能协助开发者沉积更通用的范畴才能,社区活跃度能保持全国第六,而且在微服务范畴现已被广泛运用,能协助个人很好的扩大价值。

再便是 Nacos 的了解产品也会比较简略,Nacos.io 官网能够协助你快速入门,也有 Nacos 电子书免费下载协助你深度了解 Nacos 架构规划。奉献开源上能够从 Nacos 社区库房中 good first issues 开端,跟着产品演进的方向,从小事开端在社区中发声,最终在 Nacos 社区有许多中心模块需求主导者,而且在社区中成为中心奉献者有社区投票权利,主导未来 Nacos 展开方向,而且作为社区中心成员,会有许多线上线下共享的时机,协助个人以及企业树立更多社会影响力。总之在开源范畴其实只要你愿意了解,一定会有所收成,祝愿每一位开发者在自己喜欢的范畴能做出你想要的产品。最终感谢 Nacos 开源社区每一位同学!

MSE 注册装备首购 8 折,首购 1 年及以上 7 折。MSE 云原生网关预付费全规格享 9 折优惠。点击此处,即享优惠!