开发者学堂课程干货总结——Dubbo 分布式服务治理实践(一)

本文涉及的产品
网络型负载均衡 NLB,每月750个小时 15LCU
传统型负载均衡 CLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
简介: Dubbo 分布式服务治理实践课时1——Dubbo分布式框架介绍与3.0新特性 。电子书+视频为同学带来最佳学习效果,文字、课程链接、图谱地址统统为大家放送了哦!

哈喽各位同学们大家好呀,小编今天带着开发者学院中课程Dubbo分布式框架介绍与3.0新特性”干货总结来了~一起学习新课程吧!

课程链接以及图谱地址小编已经为大家指路了,搭配学习效果更佳👇

课程名称:Dubbo 分布式服务治理实践

课程地址:https://developer.aliyun.com/learning/course/72/detail/1185?spm=a2c6h.21258778.0.0.6abe6a00IzvBvY

图谱名称:Alibaba Java 技术图谱

图谱地址:https://developer.aliyun.com/graph/java?spm=a2c6h.21110250.J_5703890090.6.700e3c67EjOBeJ


Dubbo 分布式服务治理实践


一、Dubbo课程环境介绍 

1)阿里Java开发者学院2021最新课程 

Dubbo相比传统分布式框架有很大差别,Dubbo本身解决的问题不仅仅是服务调用致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。所以相比传统RPC在架构层次上又做了一次很重要的升级,这个课程是作为Java服务课程前置的非常重要的学习课程。 

阿里巴巴专家亲自授课,覆盖最新Spring Cloud微服务架构 

image.png 

2Dubbo分布式服务治理框架实战—步步为赢 

如果是刚工作不久的同学,可以看一下 Java高级编程知识,包括我虚拟机多线程等编程框架希望大家在做架构对公司框架有深入系统的研究。整个Dubbo分布式框架,在开源社区的影响非常大,主要微服架构流行之前,实际已经在做大规模的分布式服务集群的开发落地治理工作Dubbo很多经典设计模式和思想挑战性问题,目前在微服务架构中用到了相同的技术条件和问题,有很重要的参考对比价值 

在做架构师技术选型的时候,不能只会一个框架,很多公司的框架实际是定死的,作为架构师照搬就行但是对于架构师的要求来说,还是希望能够精通多种架构方式,这样在应对不同的问题不同的场景的时候能有更多合理性选择。 

Dubbo理论到架构设计模式逐步带入实战练习模拟订单服务模拟机群,客户端实现调用操作。实战过程中希望大家把其他的组件给用起来,比如说 Dubbo注册中心等,逐步联系起来。当然Dubbo本身也有自己的监控组件有自己的熔断机制 

image.png 

二、Dubbo3.0分布式服务治理框架新特性 

1)分布式服务治理框架Dubbo介绍 

Dubbo经发展到3.0经过很长时间迭代在阿里巴巴集团内部大量使用,官网上介绍回顾整个分布式架构发展历史,淘宝诞生在2003年,经历过非常典型的各种分布式架构发展过程,淘宝本身有自己的分布式框架 hsfhsfDubbo设计思想有很多相似之处协议集群治理也有很多重合的地方但是Dubbo本身是使用的更广泛,在业界影响力更大。 

Dubbo优秀的地方在于,整个架构诞生在SOS时代,但是RPC思想的影子,相比传统的RPC框架,Dubbo走的路线更高了一个层级做大规模服务的解耦和治理的工作,管控服务实现服务的查找发现负载均衡上线下线以及流量管控等功能。 

今天来看不仅阿里巴巴行业里面有很多公司在用Dubbo框架阿里2017年又重新启动了Dubbo工作,发展的越来越完善。Dubbo本身并不是一个强大的体系,还要借助其他的技术组件实现整个服务治理工作 

分布式服务治理框架Dubbo介绍总结: 

1. Dubbo是一个阿里巴巴开源的分布式RPC服务治理框架 

2. 致力于提供高性能和透明化的RPC远程服务调用方案 

3. 是阿里巴巴SOA服务化治理方案的核心框架 

4. 每天为2,000+服务提供3,000,000,000+次访问量支持 

5. 并被广泛应用于阿里巴巴集团的各成员站点。 

6. 官方网站 http://dubbo.io/ 

7. 源码:https://github.com/alibaba/dubbo 

8. 下载:http://repo1.maven.org/maven2/com/alibaba/dubbo 

9. 微博:http://weibo.com/dubbo 

 

2Dubbo发展历程 

Dubbo 2008年诞生后面有一段时间不维护了,开源项目也会受到成员工作繁忙程度等因素的影响。2017又重新启动进入孵化器2020启动3.0,开启微服务时代,对Dubbo进行升级扩充,在微服务时代Dubbo向新的层级进行兼容和支持。 

image.png 

 

 

3)Dubbo3.0—架构升级扩展:多协议+云原生 

Dubbo之前也支持各种不同的通讯协议虚拟化协议,而且部署方式相比的HSF更多元化、更灵活。目前在设计角度很明显的增强,开始支持GRPC行业级协议,成为行业标准很多接口都用包括K8S大量调度另外HTTP2HTTP协议新的升级版本,包括负载均衡策略以及路由策略都定了增强这些Dubbo做的比较好的地方。Dubbo3.0以后,整个生态会变得更强大,多协议向云原生靠拢 

image.png 

 

4Dubbo服务治理框架 

整体来说,Dubbo本身是作为一个非常优秀的服务治理,服务治理指的并不是简单SOA架构指的是大规模服务集群量级Dubbo较强大的地方。当然如果只有一个服务两个服务的话,Dubbo也可以做理论上可以支持更高更复杂的架构。Dubbo服务治理框架总结: 

1. SOA架构解决架构的异构交互问题 

2. 可以实现不同语言直接功能接口的重用 

3. 普通的服务框架解决开发Web服务接口开发 

4. 服务注册+ 服务管理+ 服务发现+健康监控 

5. Dubbo是一个分布式RPC SOA服务治理框架 

6. 致力于提供高性能和透明化的RPC远程服务调用方案 

7. 是阿里巴巴SOA服务化治理方案的核心框架 

8. 每天为2,000+服务 

9. 提供3,000,000,000+次访问量支持 

10. 并被广泛应用于阿里巴巴集团的各成员站点。 

 

5)阿里巴巴Dubbo架构演化 

Dubbo诞生的时间比较早,做架构设计的时候,看到包括单体分层分布式架构微服务架构Dubbo是在不断的做迭代扩展演化在架构改造上Dubbo是越来越丰富,协议上是越来越越复杂,也支持多元化。 

Java Spring Cloud目前来看主要还是REST API协议,对于公网是一个很好的选择,但是对于局域网,尤其是系统架构全部是Java一语言的场景的情况下,用同一种协议更好比如更接近于TPP协议的通讯协议效率会更高 

实际比较好的分布式框架,应该尽量适用公网和局域网通信的两种不同场景Dubbo就具备这种特征。 

image.png 

 

6SOA架构演化 

1. 单一应用架构 

• 当网站流量小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。 

• 此时,用于简化增删改查工作量的 数据访问框架(ORM) 是关键。 

2. 垂直应用架构 

• 当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,将应用拆成互不相干的几个应用,以提升效率。 

• 此时,用于加速前端页面开发的 Web框架(MVC) 是关键。 

3. 分布式服务架构 

• 当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,使前端应用能更快速的响应多变的市场需求。 

• 此时,用于提高业务复用及整合的 分布式服务框架(RPC) 是关键。 

4. 流动计算架构 

• 当服务越来越多,容量的评估,小服务资源的浪费等问题逐渐显现,此时需增加一个调度中心基于访问压力实时管理集群容量,提高集群利用率。 

• 此时,用于提高机器利用率的 资源调度和治理中心(SOA) 是关键。  

 

7Dubbo优缺点 

1. 透明化的远程方法调用 

• 像调用本地方法一样调用远程方法;只需简单配置,没有API侵入。 

2. 软负载均衡及容错机制 

 在内网替代nginx lvs等硬件负载均衡器。 

3. 服务注册中心自动注册 & 配置管理 

 不需要写死服务提供者地址,基于接口名自动查询提供者。使用类似zookeeper等分布式协调服务作为服务注册中心,可以将绝大部分项目配置移入zookeeper集群。 

4. 服务接口监控与治理 

Dubbo-admin与Dubbo-monitor提供了完善的服务接口管理与监控功能,针对不同应用的不同接口,可以进行 多版本,多协议,多注册中心管理。 

 

 

8Dubbo&HSF&Spring Cloud对比 

大家在做技术选型的时候,如果你选Spring Cloud做微服架构是可以的,它的整个体系比较完善,组件体系应该有50个左右非常多,而且比较完善,阿里也贡献了Spring Cloud系列框架,整个社区项目非常完善,做微服务的一个选择。 

Dubbo现在也开始支持REST API成为微服务有效版图中的一块Dubbo强的做企业局域网分布式架构的大规模集群改造,用Dubbo协议层次上会做的更优秀 

淘宝的HSF相对来说生态没有那么好,主要是在阿里内部有,Dubbo在社区内遍地开花,成为顶级项目,这是Dubbo比较优秀的地方 

image.png 

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
测试技术 应用服务中间件 Apache
QPS、TPS、并发用户数、吞吐量等定义
QPS (Queries Per Second) 是每秒查询率 ,是一台服务器 每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内 所处理流量多少的衡量标准, 即每秒的响应请求数,也即是最大吞吐能力。
4289 0
|
4天前
|
存储 关系型数据库 分布式数据库
PostgreSQL 18 发布,快来 PolarDB 尝鲜!
PostgreSQL 18 发布,PolarDB for PostgreSQL 全面兼容。新版本支持异步I/O、UUIDv7、虚拟生成列、逻辑复制增强及OAuth认证,显著提升性能与安全。PolarDB-PG 18 支持存算分离架构,融合海量弹性存储与极致计算性能,搭配丰富插件生态,为企业提供高效、稳定、灵活的云数据库解决方案,助力企业数字化转型如虎添翼!
|
15天前
|
弹性计算 关系型数据库 微服务
基于 Docker 与 Kubernetes(K3s)的微服务:阿里云生产环境扩容实践
在微服务架构中,如何实现“稳定扩容”与“成本可控”是企业面临的核心挑战。本文结合 Python FastAPI 微服务实战,详解如何基于阿里云基础设施,利用 Docker 封装服务、K3s 实现容器编排,构建生产级微服务架构。内容涵盖容器构建、集群部署、自动扩缩容、可观测性等关键环节,适配阿里云资源特性与服务生态,助力企业打造低成本、高可靠、易扩展的微服务解决方案。
1309 5
|
1天前
|
监控 JavaScript Java
基于大模型技术的反欺诈知识问答系统
随着互联网与金融科技发展,网络欺诈频发,构建高效反欺诈平台成为迫切需求。本文基于Java、Vue.js、Spring Boot与MySQL技术,设计实现集欺诈识别、宣传教育、用户互动于一体的反欺诈系统,提升公众防范意识,助力企业合规与用户权益保护。
|
14天前
|
机器学习/深度学习 人工智能 前端开发
通义DeepResearch全面开源!同步分享可落地的高阶Agent构建方法论
通义研究团队开源发布通义 DeepResearch —— 首个在性能上可与 OpenAI DeepResearch 相媲美、并在多项权威基准测试中取得领先表现的全开源 Web Agent。
1343 87
|
1天前
|
JavaScript Java 大数据
基于JavaWeb的销售管理系统设计系统
本系统基于Java、MySQL、Spring Boot与Vue.js技术,构建高效、可扩展的销售管理平台,实现客户、订单、数据可视化等全流程自动化管理,提升企业运营效率与决策能力。
|
3天前
|
弹性计算 安全 数据安全/隐私保护
2025年阿里云域名备案流程(新手图文详细流程)
本文图文详解阿里云账号注册、服务器租赁、域名购买及备案全流程,涵盖企业实名认证、信息模板创建、域名备案提交与管局审核等关键步骤,助您快速完成网站上线前的准备工作。
189 82
2025年阿里云域名备案流程(新手图文详细流程)