Nacos 开源、自研、商业化三位一体战略解读
简介: Nacos作为整个阿里云原生三位战略中的核心组成部分,我们在2018年以Configserver/VIPServer/Diamond为基础通过Nacos开源输出阿里十年沉淀的注册中心和配置中心能力,并且快速成为国内首选。并且通过云产品MSE以BaaS模式输出解决方案能力。
作者:彦林(李艳林),彦林(李艳林),Nacos PMC,阿里云 MSE 产品创始人,阿里云软负载团队负责人。
阿里云原生三位一体战略解读
阿里巴巴开源、自研、商业化技术三位一体,用公有云支持阿里集团上云,以开源为内核做内部扩展,以商业化为基础做内部定制;后端BaaS化,客户端轻量化,业务侧Serverless化。
Nacos作为整个阿里云原生三位战略中的核心组成部分,我们在2018年以Configserver/VIPServer/Diamond为基础通过Nacos开源输出阿里十年沉淀的注册中心和配置中心能力,并且快速成为国内首选。并且通过云产品MSE以BaaS模式输出解决方案能力。

Nacos开源三年以来,打造了完整的云原生技术生态,成为国内的事实标准,并且通过社区推动开放共建,通过阿里丰富产品打磨产品性能和可用性,通过商业化打造产品极致体验,更安全的产品能力,满足企业用户的生产要求。从而全方位锤炼Nacos各个维度的能力,正循环持续增强产品竞争力!下面我从开源、自研、商业化三个维度进行更深入的分享。

Nacos 生态&规划
Nacos 生态
Nacos几乎支持所有主流语言,其中Java/Golang/Python已经支持Nacos2.0长链接协议,能最大限度发挥Nacos性能。阿里微服务 DNS(Dubbo+Nacos+Spring-cloud-alibaba/Seata/Sentinel)最佳实践,是Java微服务生态最佳解决方案;除此之外,Nacos也对微服务生态活跃的技术做了无缝的支持,如目前比较流行的Envoy、Dapr等,能让用户更加标准获取微服务能力。

Nacos 规划
自从Nacos 2.0发布以来,凭借10倍性能提升激发社区活力,进入国内开源项目活跃度Top10,并且成为行业首选。随着Nacos2.0的成熟,后续Nacos1.X将进入维护状态,Nacos 2.0.X将做1.X到2.X的过度,从2.1.0版本我们将去掉过度升级逻辑,让Nacos2.0代码更加清爽,性能更加卓越,并且加速插件化和服务网格生态的进化速度,期望对此感兴趣小伙伴一起共建!!!

Nacos 阿里落地实践
Nacos 阿里百万实例微服务架构
由于阿里巴巴已经发展到百万实例级的超大集群,为了更高的性能和扩展性,我们按照职能将Nacos切分成注册中心和配置中心两个集群;建议超过10w实例规模公司从早期做好拆分。小的时候部署到一起运维和部署代价是最小的。统一接入按照流量网关和微服务网关做了两层拆分,Tengine负责流量网关,主要抗连接,证书卸载和弱七层流量控制;Envoy负责微服务网关部分,负责服务治理,协议转化,跨域互通等场景;建议超过100w/s建议做两层,不超过一层具有最佳性价比。阿里在国际化业务中将服务路由和异地多活切流能力下沉到Sidecar,并且大规模落地中,以便通过异地多活体系按照Region级别扩展集群。
目前为止,阿里云原生网关,注册中心和配置中心所有单元环境全部切到公有云产品MSE中,并且经过了99大促的验证,并且以此支持今年双十一。

Nacos 服务发现实践
随着业务规模和业务域扩大,大公司基本都会遇到跨域互通的问题,阿里巴巴通过云原生网关打通多个业务域,如钉钉和其他集团业务域互通,通过MSE的云原生网关互通,通过Dubbo3.0的Triple协议互调,没有任何协议转化的消耗,效率高,rt低,还可以通过网关配置简单的路由切分逻辑提升整体高可用。在阿里巴巴落地服务网格过程中Istio不能满足阿里规模要求,因此服务链路直接跟Nacos注册中心打通,路由规则通过Istio对接Nacos配置中心打通,以便能够大规模生产落地。

Nacos配置管理实践
阿里能够喝着咖啡搞大促的一个底层技术就是动态配置管理+预案系统(定时修改规则配置)。Nacos作为动态配置管理的基础支撑着整个双十一的核心业务。 如阿里巴巴混部快速交付一个单元环境后,会动态推送单元化规则引流到新的混部环境,大促开始前会对日志采样率规则进行调整,防止过多日志对系统性能造成影响。

Nacos 解决方案
微服务解决方案
微服务引擎(Micro Service Engine,简称 MSE)是一个面向业界主流开源微服务生态的一站式微服务平台。
用户可以在注册&配置中心、服务框架、云原生网关、服务治理四个模块随意组合,可以选择商业化产品,也可以选择自建产品,如果全部选择我们解决方案,可以直接获得阿里十年沉淀的核心竞争力。

服务网格解决方案
阿里服务网格(简称 ASM)是一个统一管理微服务应用流量、兼容Istio的托管式平台。
Nacos用户可用通过 MSE + ASM 两个产品快速组合直接进入服务网格时代。ASM 中Istio通过标准 MCP协议跟MSE 中 Nacos打通服务,MSE服务治理基于ASM流量治理原子API 做服务治理,我们的云原生网关也是基于Envoy构建,这样就可以通过Istio标准的控制东西南北流量,进而提升整个微服务高可用能力。

跨域互通解决方案
一般大公司都会有跨业务域、网络域、安全域、跨云等场景服务互通的需求,MSE云原生网关打通多个业务域,几乎所有用户都能用此方式解决,该模式通用,可管控,安全; 如果是一个网络域内,并且业务交集多,流量大,可以用Nacos-Sync组件做跨注册中心服务互通,跨域流量超过100w/s建议再考虑此种模式,该模式管控代价比较大,只能在网络互通、协议一致场景使用。 当然还有很多用户采用多注册和多订阅完成跨域互通,这样更无法管控跨域互通,风险无法识别,并且对研发有代价。

微服务高可用解决方案
随着数字化进程的演进,很多公司跟阿里巴巴一样会搞大促活动,这样峰值流量可能压垮整个系统,导致巨大经济损失,如果准备过多资源会导致资源浪费。这种场景下可以采用阿里巴巴的PTS+MSE+AHAS+ARMS+ACK产品组合,边压、边限流、边看,边弹。通过PTS模拟用户流量做全链路压测,通过MSE中云原生网关做入口限流,并且通过Nacos发现后端服务转发,通过ARMS做服务可用性和服务治理观测,通过链路追踪分析超时、异常等问题,容量不够通过ACK弹性,从而在性能、高可用、和资源利用率之间做最大平衡。

异地多活解决方案
对于快递、政府、医疗、金融等国际民生的领域,对业务可用性要求极高,需要具备异地多活的能力。阿里云MSHA提供同城多活和异地多活两种多活模式,底层采用MSE为微服务基础。MSE在一个Region内提供同AZ访问能力,具备同城容灾能力,单AZ故障,MSHA从入口将流量切到可用AZ快速恢复。 Region之间通过MSE云原生网关互通,解决服务部署不对等的跨域访问问题,MSHA通过全局控制流量入口,一个区域不可用从入口开始切流恢复业务。

原文链接
本文为阿里云原创内容,未经允许不得转载。
Nacos 开源、自研、商业化三位一体战略解读的更多相关文章
- 腾讯开源的 Paxos库 PhxPaxos 代码解读---Accept阶段(一)
腾讯开源的 Paxos库 PhxPaxos 代码解读---Accept阶段(一) 在看Accept阶段代码之前, 我们再回想一下 Basic Paxos算法; 1. Basic Paxos 算法是为 ...
- 腾讯开源的Paxos库PhxPaxos代码解读---Prepare阶段(一)
简单的画了一下PhxPaxos在Prepare阶段的逻辑,主要是正常的逻辑,异常逻辑和超时后面再写了; 熟悉PhxPaxos代码最好的方法是编译运行sample目录下的三个例子,编译方法在另一篇博客已 ...
- C# 开源框架
一.AOP框架 Encase 是C#编写开发的为.NET平台提供的AOP框架.Encase 独特的提供了把方面(aspects)部署到运行时代码,而其它AOP框架依赖配置文件的方式.这种 ...
- C#开源系统大汇总(个人收藏)
C#开源系统大汇总 一.AOP框架 Encase 是C#编写开发的为.NET平台提供的AOP框架.Encase 独特的提供了把方面(aspects)部署到运行时代码,而其它AOP框架依赖 ...
- C#常用开源类库
一.AOP框架 Encase 是C#编写开发的为.NET平台提供的AOP框架.Encase 独特的提供了把方面(aspects)部署到运行时代码,而其它AOP框架依赖配置文件的方式.这种 ...
- .NET平台下开源框架
一.AOP框架Encase 是C#编写开发的为.NET平台提供的AOP框架.Encase 独特的提供了把方面(aspects)部署到运行时代码,而其它AOP框架依赖配置文件的方式.这种部署方面(asp ...
- C#开源系统大汇总
一.AOP框架 Encase 是C#编写开发的为.NET平台提供的AOP框架.Encase 独特的提供了把方面(aspects)部署到运行时代码,而其它AOP框架依赖配置文件的方式.这种部署方面(as ...
- C#开源资源项目
一.AOP框架 Encase 是C#编写开发的为.NET平台提供的AOP框架.Encase 独特的提供了把方面(aspects)部署到运行时代码,而其它AOP框架依赖配置文件的方式.这种部署方面(as ...
- 漫谈 Greenplum 开源背后的动机
漫谈 Greenplum 开源背后的动机 Greenplum是一家总部位于美国加利福尼亚州,为全球大型企业用户提供新型企业级数据仓库(EDW).企业级数据云(EDC)和商务智能(BI)提供解决方案和 ...
- C#开源系统大汇总(转)
一.AOP框架 Encase 是C#编写开发的为.NET平台提供的AOP框架.Encase 独特的提供了把方面(aspects)部署到运行时代码,而其它AOP框架依赖配置文件的方式.这种 ...
随机推荐
- linux下永久添加静态路由-不同
linux下永久添加静态路由-不同 添加路由的命令: 1,route add route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0#添加一 ...
- 在 NVIDIA DGX Cloud 上使用 H100 GPU 轻松训练模型
在 NVIDIA DGX Cloud上使用 H100 GPU 轻松训练模型 今天,我们正式宣布推出 DGX 云端训练 (Train on DGX Cloud) 服务,这是 Hugging Face H ...
- 记录--前端无感知刷新token & 超时自动退出
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前端无感知刷新token&超时自动退出 一.token的作用 因为http请求是无状态的,是一次性的,请求之间没有任何关系,服务端 ...
- ubuntu18.04如何运行.exe文件
在Ubuntu上安装Wine 到wine官网查看的安装步骤 如果您之前安装过来自其他仓库的 Wine 安装包,请在尝试安装 WineHQ 安装包之前删除它及依赖它的所有安装包(如:wine-mono. ...
- 阿里二面:Java中锁的分类有哪些?你能说全吗?
引言 在多线程并发编程场景中,锁作为一种至关重要的同步工具,承担着协调多个线程对共享资源访问秩序的任务.其核心作用在于确保在特定时间段内,仅有一个线程能够对资源进行访问或修改操作,从而有效地保护数据的 ...
- Vue中点击按钮回到顶部(滚动效果)
页面滚动到一定位置时,出现回到顶部按钮 代码如下HTML <div class="footer"> <div class="gotop" v- ...
- CSP 2021 入门级
CSP 2021 入门级(DONE) 1.C 语言不支持面向对象. 2.计算机界的最高奖项"图灵奖"以英国的阿兰·艾伦·图灵命名,被称为"计算机界的诺贝尔奖". ...
- CSS---RGBA和position属性解释
rgb与rgba的含义 RGB 是代表Red(红色) .Green(绿色). Blue(蓝色)三个单词的缩写. RGBA 颜色值是 RGB 颜色值的扩展,添加了一个 alpha 通道, 它规定了对象的 ...
- iNeuOS工业互联网操作系统,“低代码”表单开发应用过程(一)
iNeuOS工业互联网操作系统,"低代码"表单开发应用过程(一) 目 录 1. 概述... 2 2. "低代码"表单开发应用过程 ...
- #最大密度子图,0/1分数规划#UVA1389 Hard Life
题目 \(n\) 个点,\(m\) 条边的一个无向图,问导出子图的边数除以点数的最大值 分析 考虑二分这个答案,也就是0/1分数规划之后转换成 \(E-mid*V>0\) 这个问题虽然可以精确到 ...