Dubbo 开源、自研、商业化三位一体战略解读 | 学习笔记

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,118元/月
云原生网关 MSE Higress,422元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 快速学习 Dubbo 开源、自研、商业化三位一体战略解读

开发者学堂课程【Dubbo 开源、自研、商业化三位一体战略解读Dubbo 开源、自研、商业化三位一体战略解读】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/957/detail/14878


Dubbo 开源、自研、商业化三位一体战略解读


内容介绍

一、阿里巴巴服务框架三位一体的选型与实践

二、Dubbo 3.0在阿里云商业化方向上的实践

三、Dubbo 3.0+MSE 服务治理在钉钉的实践

 

 

一、    阿里巴巴服务框架三位一体的选型与实践

1、何为阿里云原生三位一体选择

开源:生态/开放

自研:性能/高可用

商业化:易用/安全

image.png

2Dubbo HSE 在阿里巴巴的实践

Dubbo:2011年开源后,迅速成为业界广受欢迎的一个微服务框架的产品,在国内外均有着广泛的应用和发布项目。它诞生于2008年,起初他仅仅只是在阿里内部的一个系统使用。当在2011年的时候,阿里 B2B 决定将整个项目开源,在期间仅用了一年的时间就收获了来自不同行业的大批用户。2014年由于团队内部的调整暂停更新,但是于20179月重新开启开源。同时在20195月于 Apache 孵化毕业,成为第二个由阿里巴巴捐献阿帕奇毕业的一个项目.

image.png

HSF:Dubbo 并列在阿里内部运用的服务框架,HSF 是由阿里巴巴使用,更多是承接了内部从单体应用到微服务架构的一个演进,支撑了历年阿里双十一的平稳运行,20085月份 HSF1.1发布之后历经数年,HSF 作为一个基础的RPC 框架,逐渐演变成日支持支撑十万亿级别调用的,并且是拓展的微服务框架。对于集团的需求而言,核心是稳定性跟性能,因此,当时选型在电商高并发场景下久经考的 HSF 作为一个新一代的服务框架的一个核心,随后 HSF 推出了2.0版本,并且针对之前的问题进行了改造,大大降低了维护成本,同时进一步提高了稳定性和性能,因为 HSF 兼有原来的 Dubbo 协议所以原来的客户可以平稳的迁移至新版本。所以 HSF 在阿里内部迅速铺开,部署的 server 数量达到数十万,基本达到了阿里巴巴内部微服务,并且框架的统一,并且经历过了多年双十一零点流量的洪峰验证。

Dubbo3:作为 Dubbo 捐献给 Apache 的里程碑版本于20216Dubbo3.0正式发布,也代表了 Dubbo Apache 版本全面拥抱云原生的节点。

2021年3月份交付 Ttriple 版本、20219月份交付 Proxyless Mesh 能力、202111月份3.1发布 Dubbo3.0生产可用级,届时会带来 Dubbo Mesh 上的最佳实践、20223月份 Dubbo3.2正式发布交付服务柔性能力,在大规模应用部署下实现智能流量调度,提高系统的稳定性与资源利用率

3、下一代微服务的挑战和机遇

业务的发展和自身框架的迭代 Double HSF 微服务框架从协议层简单的兼容已经无法满足了。同时,随着云原生的不断发展和云原生理念的一个广泛传播,微服务的发展有着以下的趋势

image.png

1)云原生时代的微服务发展趋势

1K8S 成为资源调度的事实标准,Mesh 化逐渐被接受:屏蔽掉底层的一个基础设施,成为软件架构的一个核心的一个演进目标。无论是阿里巴巴还是其他企业用户所面临的问题都已经从是否上云变成了如何平滑稳定且低版本的迁移上云.

2、底层基础设施易变,云上微服务多元化:由于上云路径的多样化,以及现有架构迁移至云原生架构的一个过渡态的存在部署,应用设施的灵活易变,云上微服务也呈现多元的一个趋势,同时跨语言、跨厂商、跨环境的调调用必然会产生。催生出基于开放标准的统一协议和框架来满足互通的需求。

3、端上应用对后台服务的访问呈爆发性增长:端上对后台的服务的访问呈爆炸式的增长的趋势,应用的规模和整个微服务的规模体系也都随之增长。这些趋势都给HSFdouble带来了新的挑战。

2)如何解决云原生微服务发展所带来的问题

抛弃私有协议

选型标准协议,网关友好,生态完善

服务云原生

K8S Mesh 场景中支持原生服务发布和治理

规模化增强

面向失败设计,降低单机资源消耗,提高全链路资源利用率,支持超大规模集群水平扩容无感

多语言

减低多语言 SDK 支持门槛,优化框架抽象,包括协议、序列化和注册发现

4、三位一体战略下微服务框架的最终选择 Dubbo3

微服框架是基础的组件,大部分公司在早期选型或者业务发展到一定规模的时候都需要确定使用某一个框架儿。一个稳定高效的资源框架需要较长的时间的打磨和优化,对于阿里云而言,这就带来一个问题,内部使用的学员 HSF 框架与云上用户使用的 Dubbo 开源框架在协议、内部模块抽象以及编程接口和功能支持上存在着各种差异。所以如何让改善这些差异成为目前必须解决的问题。同时,像原有的部门或公司,技术站如何更快的融入现有的体系; HSF 无法直接用于广大的云上用户和外部的其他用户儿以及开源产品对闭源的挑战也会随着开源和云的不断发展而愈演愈力愈烈。

越早解决的这个问题,阿里巴巴和外部企业的云原生迁移的成本就会越低,产生的价值也儿越大。因此,HSF Dubbo 的融合是大势所趋,为了能更好地服务内外客户和两个框架更好地发展,Dubbo3和以 Dubbo3为内核的一个集团的一个适配集团基础生态的园区F3应运而生。

1)全新服务发现模型

应用粒度服务发现,面向云原生设计适配基础设施与异构系统大幅提升性能与集群伸缩性.全新的服务发现模型。Dubbo3从应用模型入手,优化存储结构对云原生主流的设计模型,从而避免在模型上带来互通的问题,同时新的模型在数据组织上高度压缩,能够有效的提升性能跟集群的可扩展性。

2)统一流量治理模型

面向云原生流量治理,SDKMesh VMContainer 等统一治理规则;支持更丰富的流量治理场景,从而大大降低了流量治理成本,也使得在异构体系全局流量治理变成可能。

3)下一代 RPC 协议

基于 HTTP/2Triple 协议,兼容 gRPC;穿透性强、语言无关、网关友好全链路 Reactive Stream 支持

(4)  Service Mesh

Sidecar Mesh Proxyless Mesh, 更多架构选择,降低迁移落地成本

第一种 CSDK 部署和当前的Service Mesh 主流的部署产品完全一样,并且对 double 进行瘦身,屏蔽掉与 Mesh 相同的一个治理功能,仅保留核心的 RPC 能力。第二种是 process 模式,Double 将接替工作职责,主动与控制面进行通信,同时,基于 Dubbo3的统一治理的应用规则来治理云原生的流量。


二、Dubbo 3.0在阿里云商业化方向上的实践

1Dubbo3在商业化方向上的选择

自研微服务→Fat-SDK PandoraOne AgentOne Mesh

image.png

1)自研微服务

依赖冲突难管理

SDK 升级成本高

推出 HSF

(2)  Fat-SDK Pandora

基于隔离容器

运维治理效率大

幅提升

推出 HSFPandora

(3)  One Agent

无侵入

0升级成本

全面兼容开源

推出

Dubbo3Spring Cloud. Service Mesh

(4)  One Mesh

无侵入

多语言

全面兼容开源

2MSE 服务治理无缝支持Dubbo 3.0

通过 Dubbo3+Agent+集团技术发展以及 Dubbo 的演进和商业化技术实践的红利不断且持续输出给云上客户。阿里云上相关的产品也是开箱即用,无需修改任何代码与配置即可应用

1)用户操作示意图

image.png

2Agent 提供的能力

无损下线   离群实例摘除   标签路由   服务鉴权   链路跟踪  金丝雀发布  APL 管理   服务测试   限流降级   故障注入

3)其优点包括

业务无侵入、无感知

0升级成本

全面兼容开源

基于 Arthas 底座的 One Java Agent

One Java Agent

https://github.com/alibaba/one-java-agent/

3、如何将一个 HSF 应用无缝升级成 Dubbo 3.0应用

原理:Dubbo 3.0实现了 Dubbo HSF 框架的技术统一

只需要将运行环境升级成4.0以上即可

image.png

 

三、Dubbo 3.0+MSE 服务治理在钉钉的实践

1、钉钉文档上云之路

钉钉文档介绍

image.png

钉钉文档是阿里集团钉钉出品,自主研发的协同办公套件,包含文档、表格等在线创作工具,无需下载文档,在电脑、手机、平板都可编辑查看,内容可实时保存,钉钉文档在2020年开始启动上云战役,目前已经取得了阶段性的成果。

2、业务挑战

终极目标:只保留云上集群

image.png

过渡阶段:双集群

image.png

之所以需要双集群是因为上云是一个慢慢恢复的过程,需要按百分比、业务不断地将流量往云上迁移同时一些历史数据也需要慢慢迁移。上游服务和下游服务在集团内,目前只能消费 HSF 协议等其通过 Tribe 协议升级后才能从弹内集群拿掉

3、落地方案

上游服务

image.png

当弹内的文档集群收到来自 HSF 的请求之后,会往云上发起一起 Trible 协议的调用,这样就完成了一次上游服务对公有云集群的服务

下游依赖

image.png

总结:

文档有弹内和云上有两个集群,需要这两个集群代码一致。在集团内,文档集群需要提供 HSF 服务,供上下游调用,需要提供 Triple 服务供云上集群调用,云上的集群呢仅仅提供 Triple 协议,弹队集群和云上集群可以互通。综合以上几点,Dubbo3.0完美符合我们需求。

方案优点:

上下游服务不需要做任何改变,可以仍然使用原有协议;云上集群使用了开源的协议,使得服务治理非常方便。

服务治理:MSE 和服务治理:ARM 直接使用了 Dubbo 框架经行服务测试和调用

image.png

4、三位一体

自研、商业化、开源的三位一体,使得在双11中沉淀的核心技术,可以直接的给用户使用,中间省略了经过云上沉淀再输出的过程,降低了用户在获取双11同款技术引擎的门槛和成本,也可以帮助用户快速的迈入云原生的时代。Dubbo3也正是在这个战略下的选择。

Dubbo3和基于 Dubbo3内核的 HSF,外部和内部齐头并进,为阿里云、阿里云上、集团内以及在开源的用户提供最佳的用户体验。

相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
相关文章
|
6月前
|
负载均衡 Dubbo Java
Dubbo 3.x:探索阿里巴巴的开源RPC框架新技术
随着微服务架构的兴起,远程过程调用(RPC)框架成为了关键组件。Dubbo,作为阿里巴巴的开源RPC框架,已经演进到了3.x版本,带来了许多新特性和技术改进。本文将探讨Dubbo 3.x中的一些最新技术,包括服务注册与发现、负载均衡、服务治理等,并通过代码示例展示其使用方式。
348 9
|
编解码 Dubbo 应用服务中间件
Alibaba开源Dubbo源码解析手册,竟引领出RPC的新潮流
前言 Apache Dubbo,一款由阿里巴巴于2011年开源的高性能Java RPC框架,自开源以来在业界产生了深远影响。有大量公司广泛使用,甚至很多公司的自研RPC框架中都能看到Dubbo的影子。Dubbo在国内服务化体系演进过程中扮演了重要角色。尽管经历了几年的沉寂,但在阿里巴巴重启对Dubbo的开源维护,Dubbo正在从微服务领域的高性能RPC框架逐步演变为一个完整的微服务生态。 对于开发者来说,深入了解Dubbo底层的架构设计和实现是一项挑战。因此,一份完整的、体系化的对Apache Dubbo进行深入原理剖析的手册就显得尤为重要。
|
6月前
|
消息中间件 Dubbo Java
Spring全家桶 、Dubbo、分布式、消息队列后端必备全套开源项目
基于 Spring Boot 2.X 版本的深度入门教程。 市面上的 Spring Boot 基础入门文章很多,但是深度入门文章却很少。对于很多开发者来说,入门即是其对某个技术栈的最终理解,一方面是开发者“比较懒”,另一方面是文章作者把 Spring Boot 入门写的太浅,又或者不够全面。
|
Dubbo Java 应用服务中间件
开源微服务如何选型?Spring Cloud、Dubbo、gRPC、Istio 详细对比
开源微服务如何选型?Spring Cloud、Dubbo、gRPC、Istio 详细对比
1086 7
|
开发框架 监控 Dubbo
5 分钟读懂开源服务框架 Dubbo 及其最新规划
5 分钟读懂开源服务框架 Dubbo 及其最新规划
312 3
5 分钟读懂开源服务框架 Dubbo 及其最新规划
|
监控 Dubbo 网络协议
【SpringBoot学习笔记 十四】SpringBoot+Dubbo+Zookeeper集成开发(下)
【SpringBoot学习笔记 十四】SpringBoot+Dubbo+Zookeeper集成开发(下)
184 0
|
消息中间件 监控 Dubbo
【SpringBoot学习笔记 十四】SpringBoot+Dubbo+Zookeeper集成开发
【SpringBoot学习笔记 十四】SpringBoot+Dubbo+Zookeeper集成开发
207 0
|
自然语言处理 负载均衡 Dubbo
屡获殊荣丨Dubbo 开源 12 周年年度总结与规划
屡获殊荣丨Dubbo 开源 12 周年年度总结与规划
屡获殊荣丨Dubbo 开源 12 周年年度总结与规划
|
Dubbo 应用服务中间件
Dubbo 学习笔记 ——Dubbo 官网学习思维导图
Dubbo 学习笔记 ——Dubbo 官网学习思维导图
169 0
|
编解码 监控 负载均衡
Dubbo3 开源标杆客户案例:平安健康的 Dubbo3 迁移历程
# 1 背景 我们公司从15年开始就使⽤dubbo作为微服务框架,当社区推出dubbo3时,我们也⽴刻跟进并做了深⼊调研,发现dubbo3 的应⽤/实例级服务注册和发现模式能够在一定程度上解决我们当前注册中⼼⾯临的压⼒,解决稳定性和安全性问题。同时dubbo3在服务治理上也做了升级,契合云原⽣架构,⽽且dubbo3能够向下兼容dubbo2,这也将降低升级的成本和⻛险。 升级项目有了阶段性的进展
256 1
Dubbo3 开源标杆客户案例:平安健康的 Dubbo3 迁移历程
下一篇
无影云桌面