简介:Nacos是整个阿里云原生立体战略的核心组成部分。2018年,我们基于Configserver/VIPServer/Diamond,通过Nacos开源输出阿里巴巴十年沉淀的注册中心和配置中心能力,迅速成为国内首选。并通过云产品MSE以BaaS模式输出??解决方案能力。作者:Yanlin(李彦霖),Yanlin(李彦霖),NacosPMC,阿里云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微服务生态的最佳解决方案;Seam支持,比如目前流行的Envoy和Dapr,将使用户能够更规范地获取微服务能力。Nacos规划Nacos2.0发布以来,以10倍的性能提升激发社区活力,进入中国开源项目前10,成为业界首选。随着Nacos2.0的成熟,后续的Nacos1.X会进入维护状态,Nacos2.0.X会做1.X到2.X的过渡。从2.1.0版本开始,我们将去除过多的升级逻辑,让Nacos2.0的代码更清爽,性能更好,加速插件和服务网格生态的进化。我们期待与有兴趣的伙伴共建!!!NacosAli实现NacosAli的百万实例微服务架构由于阿里巴巴已经发展到百万实例级别的超大型集群,为了更高的性能和扩展性,我们将Nacos分为注册中心和配置中心两个集群,根据功能;建议10万实例规模以上的公司从前期做好拆分。在他们年轻的时候,运维和部署的成本在部署在一起的时候是最小的。统一接入按照流量网关和微服务网关分为两层。Tengine负责流量网关,主要是反连接、证书卸载和弱七层流控;Envoy负责微服务网关,负责服务治理、协议转换、跨Domain互通等场景;超过100w/s建议建两层,不超过一层性价比最佳。在国际业务上,阿里将服务路由和异地多活流量切换能力下沉到Sidecar,并大规模落地,通过异地多活体系,按照Region级别扩展集群。至此,阿里云原生网关、注册中心、配置中心的所有单元环境都切换到了公有云产品MSE,并通过了99大促的验证,并以此支撑今年的双十一。Nacos服务发现实践随着业务规模和业务领域的扩大,大公司基本都会遇到跨域互操作的问题。阿里使用云原生网关打通多个业务域,比如钉钉等集团业务域。云原生网关互通,通过Dubbo3.0三重协议互调,无任何协议转换消耗,效率高,rt低,简单的路由分段逻辑也可以通过网关配置,提升整体高可用。在实现阿里巴巴的服务网格过程中,Istio无法满足阿里巴巴的规模需求,因此服务链路直接接入Nacos注册中心,路由规则通过Istio接入Nacos配置中心,实现规模化生产。予以实施。Nacos配置管理实践阿里边喝咖啡边推广的底层技术之一就是动态配置管理+预案系统(规则配置的定时修改)。Nacos作为动态配置管理的基础,支撑着整个双十一的核心业务。比如阿里混合部门快速交付一个单元环境后,会动态推送单元化规则,将流量分流到新的混合部门环境中。大促开始前会调整日志采样率规则,防止日志过多影响系统性能。NacosSolution微服务解决方案微服务引擎(简称MSE)是面向业界主流开源微服务生态的一站式微服务平台。用户可以自由组合注册配置中心、服务框架、云原生网关、服务治理四大模块。他们可以选择商业产品或自建产品。如果他们选择我们所有的解决方案,他们可以直接获得阿里十年积累的核心竞争力。ServiceMesh解决方案阿里ServiceMesh(简称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全局控制流量入口,如果某个区域不可用,从入口切换流量恢复业务。原文链接本文为阿里云原创内容,未经许可不得转载。
