我们总结了 3 大使用建议,并首次公开 Nacos3.0 规划图

Nacos 是什么

Nacos 是 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 不仅仅维持高的项目活跃度,而且项目关注度和活跃度还在逐步提高。

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

Nacos 是阿里巴巴微服务领域开源项目的活跃度排行第一,也得益于开源协作模式,并且在 Nacos 中有大量国内外知名公司的核心贡献者,其中也包含就职在腾讯、华为、小米等等知名企业的同学,也正是社区整体的贡献者和用户在帮助 Nacos 成长,让 Nacos 逐步完善生态,支持几乎所有主流语言,整合更多开源生态,也正是用户和社区贡献者让 Nacos 为企业数字化转型首选产品。

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 的客户端。

在基本能力上,Nacos 2.x 一致性协议复用了阿里在该领域最佳实践,以长连接为基础,减低通信损耗,基于 Distro 协议原有协议进行升级,在存储模型、保活模型上进行了重构,并且用推送机制代替了之前的轮训机制,进一步提升了产品的高可用以及稳定性,整体也复用了阿里百万实例的基础模型,在 CAP 理论基础上,根据场景来去选择最适合的协议,贴合场景来平衡一致性、高可用以及分区容灾,做到服务发现以及配置管理每个场景下,都做到稳定性、高可用、高性能的保障。

在拓展能力上,Nacos 2.x 版本开始支持插件化能力,基于插件化是更方便的支持用户各种场景,很多用户公司内部有完善的体系基于 Nacos 可以简单的改造就可以融合进入,在鉴权、配置加解密场景都可以做到按照用户需求进行定制,并且给出默认的开源实现供用户选择,加解密为例,开源给出的默认实现是基于 AES,用户也可以进行自定义。并且目前数据库的插件已经在路上,后续还会在安全等更多方面支持可插拔的插件化能力。

Naocs 支持还能支持哪些场景

Nacos 基本核心能力是面向于整体分布式的服务注册与发现,以及分布式节点配置管理,使用领域可以说是非常广泛的,比较常用的包含,微服务领域、高可用领域、内容领域以及数据库领域等,目前在微服务领域 Nacos 基本能力使用最广,微服务领域定位在一站式解决了用户应用的寻址、流量、配置场景服务平台,在高可用领域 Nacos 积累了大量的经验,可以实现大量降级、容灾、多活的高可用场景,也可以支持内容分发以及数据库分库分表、主备切换等场景的基础能力,可以说分布式的场景下,基本都可以跟 Nacos 进行构建,也帮助业务后续拓展留足了准备。

Nacos 排查问题最佳实践

注册配置中心在分布式节点交互中起着重要的作用,在业务分布式场景出现问题的时候需要快速进行诊断,判断是否是注册配置中心出现了问题,还是业务层的问题。

在注册中心中,服务发现是业务排查问题第一优先级需要定位的,服务发现具体对应的就是服务地址数据是否同步到了业务节点上,那在 Nacos 场景上,推送记录就是最关键的一个特性能力,这部分能力可以通过 Nacos 日志查询到,目前 Nacos 社区已经开始计划设计事件中心来支撑这部分能力,为了更好的演示,这里也通过阿里云微服务引擎 MSE 展现一下白屏化的推送轨迹能力,用户可以通过服务名称或者客户端 IP,进行查询变更的时间以及变更的内容,就可以快速明确当前注册中心是否存在问题,并且能帮住业务进一步定位具体原因。

在配置中心链路,同样存在第一时间定位的问题,这里也通过阿里云微服务引擎 MSE 的最佳实践,推送轨迹能力展现排查的思路,可以通过配置名称或者订阅者客户端 IP 进行查询配置的变更时间,以及推送时间,以及推送内容 MD5 值进行匹配。

并且在分布式配置管理领域,通过补全推送轨迹能力,加上已经支持的历史版本查询能力,可以帮助业务全流程的观测配置的生命周期。

关于注册配置中心排查问题的思路上,总结是两个重点,一是数据变更确认,二是快速确定关系并且进行恢复。大多数场景如果是业务变更引起的,一定要第一时间进行回顾变更,避免给业务带来问题。在稳定性要求比较高的领域,建议业务体系上面向 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 的贡献。

参加开源建议

最后部分整合我个人意见,向没有参与过开源的同学给出一些参与开源的建议,首先我认为开源对于开发者以及社区贡献都是非常有益的,如果你有时间并且也想参与开源,那我建议你从以下四个步骤进行深入:

第一步找到自己感兴趣的方向,这个点比较重要,会影响你后续贡献的持久程度,当然这个也是在逐步摸索中的,不过如果对于方向确认好后,应对的产品列表选择就会比较明朗了,在这个步骤考虑兴趣是我首要建议的,其次我建议,也可以考虑当前项目一些详细信息,重点考虑是否能帮助个人把价值的放大,使用范围越广的项目就越能让你的贡献在社会价值放大,也正向会提高成就感。

第二步是熟悉项目和产品,找到了方向和项目之后,就可以开始着手熟悉当前产品的细节,熟悉当前项目的运营机制,以及面向于产品开始接触对应领域问题,领域问题最后会沉淀成为你对这个领域的经验。

第三步其实就可以贡献开源了,这一个步骤其实面向于前两步骤是可以适当提前并行做,关键是从小问题入手做起,这样可以帮助你在前两个步骤中更快的找到感觉,也能从小问题开始帮助他人,在社区中建立个人影响力。

第四步其实是水到渠成的,面向于活跃的社区,当你足够熟悉该领域该产品之后,有了足够的贡献,就会在开源中逐步主导社区的决策,也能在社区中帮助更多的人发展共建。

上边是对个人贡献开源产品流程建议,适用于大多数开源项目的贡献。额外在开源上我觉得 Nacos 是不错的选择,首先产品定位是比较基础,能帮助开发者沉淀更通用的领域能力,社区活跃度能保持全国第六,并且在微服务领域已经被广泛使用,能帮助个人很好的放大价值。

再就是 Nacos 的熟悉产品也会比较简单,http://Nacos.io 官网可以帮助你快速入门,也有 Nacos 电子书免费下载帮助你深度了解 Nacos 架构设计。贡献开源上可以从 Nacos 社区仓库中 good first issues 开始,跟着产品演进的方向,从小事开始在社区中发声,最后在 Nacos 社区有很多核心模块需要主导者,并且在社区中成为核心贡献者有社区投票权利,主导未来 Nacos 发展方向,并且作为社区核心成员,会有很多线上线下分享的机会,帮助个人以及企业建立更多社会影响力。总之在开源领域其实只要你愿意熟悉,一定会有所收获,祝愿每一位开发者在自己喜欢的领域能做出你想要的产品。最后感谢 Nacos 开源社区每一位同学!

作者:于怀

原文链接

本文为阿里云原创内容,未经允许不得转载

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/510459.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

容斥原理 和 欧拉函数

在概率论中,对于概率空间中的事件A1,……,An,当n 2时容斥原理的公式为: 当n 3时,公式为: 一般地: 正数n的唯一素因子分解式p1^a1 * p2^a2 * p3^a3 ……* pk^ak 。求1,2…

Dubbo 3 StateRouter:下一代微服务高效流量路由

目前的微服务架构中,通常包含服务消费者、服务提供者、注册中心、服务治理四元素,其中服务消费者会向注册中心获取服务提供者的地址列表,并根据路由策略选出需要调用的目标服务提供者地址列表,最后根据负载算法直接调用提供者。当…

首次全面解析云原生成熟度模型:解决企业「诊断难、规划难、选型难」问题

从“上云”到“云上”原生,云原生提供了最优用云路径,云原生的技术价值已被广泛认可。当前行业用户全面转型云原生已是大势所趋,用户侧云原生平台建设和应用云原生化改造进程正在加速。 然而,云原生复杂的技术栈和传统IT的历史包…

有效预警6要素:亿级调用量的阿里云弹性计算SRE实践

编者按:随着分布式系统和业务需求的飞速发展,监控告警在我们保障系统稳定性和事故快速恢复的全周期中都是至关重要的。9月3号,阿里云弹性计算管控SRE李成武老师(花名佐井),受「TakinTalks稳定性社区」邀请,在线分享日常…

EMR 重磅发布智能运维诊断系统(EMR Doctor)——开源大数据平台运维利器

大数据运维的挑战—如何保证集群稳定与运行效率 企业级大数据集群通常拥有海量的数据存储、日常运算成干上万的计算任务,需要满足各类上层业务的计算需求。对于这类集群的运维往往充满着挑战:海量的数据、庞杂的组件以及组件之间复杂的依赖关系、对于时…

从中间件到分布式数据库,PolarDB-X 的透明之路

PolarDB-X前身是淘宝内部使用的分库分表中间件TDDL(2007年,Java库的形态),早期以DRDS(2012年开始研发,2014年上线,分库分表中间件MySQL Proxy的形态)的品牌在阿里云上提供服务&#…

阿里云EMAS 移动测试,帮您快速掌握移动端兼容性测试技巧

一、兼容性测试可以查到哪些问题 界面适配问题,确定是否能正常安装、启动。各个页面潜在的崩溃、无响应等问题。应用性能问题,例如启动时间、页面加载时间、功耗等。 二、阿里云兼容性测试工具的功能优势 提供在线录制功能,可视化录制出功能…

零信任策略下K8s安全监控最佳实践(K+)

云原生架构新风险与需求概述 安全风险概述 传统的网络安全架构理念是基于边界的安全架构,企业构建网络安全体系时,首先要做的是寻找安全边界,把网络划分为外网、内网等不同的区域,然后在边界上部署防火墙、入侵检测、WAF等产品。…

ATC‘22顶会论文RunD:高密高并发的轻量级 Serverless 安全容器运行时

编者按:目前的安全容器软件栈 — 包括 host 操作系统中的 cgroup、guest 操作系统和用于函数工作负载的容器 rootfs,都会导致低部署密度和在低并发能力。为此,RunD 作为一种轻量级安全容器运行时,提出了 host-to-guest 的全栈优化…

Dubbo Mesh:从服务框架到统一服务控制平台

Apache Dubbo 是一款 RPC 服务开发框架,用于解决微服务架构下的服务治理与通信问题,官方提供了 Java、Golang 等多语言 SDK 实现。使用 Dubbo 开发的微服务原生具备相互之间的远程地址发现与通信能力, 利用 Dubbo 提供的丰富服务治理特性&…

智能搜索引擎 | 驱动电商业务增长实践

开放搜索是阿里集团搜索业务中台,基于大数据深度学习在线服务体系打造的智能搜索云服务产品。拥有核心引擎、召回排序、搜索引导、充分开放等核心能力,可应用在电商行业、教育行业、内容行业等场景。目前帮助数千家客户搭建自己的搜索业务。 实践案例&a…

通过 Jenkins 构建 CI/CD 实现全链路灰度

本文介绍通过 Jenkins 构建流水线的方式实现全链路灰度功能。在发布过程中,为了整体稳定性,我们总是希望能够用小部分特定流量来验证下新发布应用是否正常。 即使新版本有问题,也能及时发现,控制影响面,保障了整体的稳…

合阔智云核心生产系统切换到服务网格 ASM 的落地实践

背景 合阔智云(http://www.hexcloud.cn) 是专注于为大中型零售连锁行业,提供全渠道业务中/前台产品和解决方案,并建立以消费者为中心的全渠道交易和敏捷供应链的新一代零售运营协同平台。 合阔智云提供了从全渠道交易管理到订单履约再到门店供应链完整…

Serverless 架构下的 AI 应用开发:入门、实战与性能优化

随着时间的推移,Serverless 架构变得越来越火热,凭借着极致弹性、按量付费、低成本运维等特性,在很多领域发挥着越来越重要的作用;机器学习领域在近些年也非常火热,并在越来越多的行业中得到应用。 实际上&#xff0c…

数据变更白屏化利器 - 推送轨迹上线

背景 Zookeeper 可作为注册配置中心,选主,分布式锁等多种场景,随着业务规模的扩大,业务之间的依赖关系逐渐变得复杂,在这种复杂的场景下如果遇到变更推送相关问题,排查起来相当困难,虽然 Zooke…

KubeVela 1.5:灵活框选 CNCF 原子能力打造独特的企业应用发布平台

KubeVela 1.5 于近日正式发布。在该版本中为社区带来了更多的开箱即用的应用交付能力,包括新增系统可观测;新增 Cloud Shell 终端,将 Vela CLI 搬到了浏览器;增强的金丝雀发布;优化多环境应用交付工作流等。进一步提升…

开源小白到核心开发——我与 sealer 的成长故事

个人简介 大家好,我是周欣元,本科就读于杭州师范大学,今年 9 月将去往云南大学进行研究生学习。本科研究方向为 docker 容器在网络攻防中的应用,目前作为 sealer member 加入了核心模块 sealer runtime 的研发工作。 个人主页&a…

全链路灰度新功能:MSE 上线配置标签推送

背景 微服务场景下,全链路灰度作为一种低成本的新功能验证方式,得到了越来越广泛的应用。除了微服务实例和流量的灰度,微服务应用中的配置项也应该具备相应的灰度能力,以应对灰度应用对特殊配置的诉求。 为什么需要配置标签推送…

万节点规模云服务的 SRE 能力建设

背景及现状 系统架构简介 上图为阿里云内部实际使用的系统架构,系统主要用途为实时数据流的计算和存储。使用阿里云的容器服务 ACK 作为系统底座,容器化的部署、发布、管控等全部基于 K8s 标准。使用自己开发的 Gateway service 作为系统流量入口&#…

阿里云 ACK 容器服务生产级可观测体系建设实践

ACK 可观测体系介绍 全景概要介绍 上图为 ACK 可观测体系全景图金字塔,从上至下可分为四层: 最上层是最接近用户业务的 Business Monitoring,包括用户业务的前端的流量、PV、前端性能、JS 响应速度等监控。通过容器服务的 IngressDashboard…