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

简介: Dubbo 分布式服务治理实践课时2——Dubbo分布式加与大规模服务集群治理 。电子书+视频为同学带来最佳学习效果,文字、课程链接、图谱地址统统为大家放送了哦!

哈喽各位同学们大家好呀,小编今天带着开发者学院中课程Dubbo分布式加与大规模服务集群治理”干货总结来了~一起学习新课程吧!

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

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

课程地址:https://developer.aliyun.com/learning/course/72/detail/1186

图谱名称:Alibaba Java 技术图谱

图谱地址:https://developer.aliyun.com/graph/java


Dubbo分布式加与大规模服务集群治理 


一、Dubbo分布式架构 

image.png 

Dubbo架构主要分为两个部分:客户端服务端,也可称为Dubbo消费者和Dubbo提供者。 

例如电商网站,要调支付服务、物流服务订单服务监控服务、大数据服务等,服务是某些功能的封装,这些是提供者所提供的服务。作为客户端的话,用户要调用这些服务去完成某些业务功能因为客户端和服务端是位于不同进程,位于分布式网络中不同的节点上这是典型的一个架构。如果客户端和服务端两个都是单体的话,则为最简单的分布式架构。 

随着业务的不断发展,架构会不断演化有些业务是大规模的集群,此时单点调用无法解决问题这是由于服务端可能有10台100台1000台甚至更多。同样的服务有时候上线有时候下线,无法预估有多少台可能会上线,多少台会下线,此时需要使用集群的弹性收缩功能解决这个问题。 

如果集群从上线到下线到运行一直都是10台,则正常情况就能满足需求。但如果在某些大型业务场景,例如双11平时10台可以满足的业务,在双11的时候可能需要1000台,甚至上万台进行支撑因此不同的业务集群规模是不一样的小规模集群可能直接基于IP进行集群搭建就可以,大规模集群则需要对接多个不同的局域网,基于域名的方式进行调度的情况可能更多一点。 

因此,Dubbo分布式架构不仅是客户端和服务端消费者和提供者这样调用关系,它解决的是大规模客户端与大规模服务端的管理问题。 

简单的架构要解决技术问题的话,它还需要有一个注册中心,还有应用监控中心,这就是典型的Dubbo早期解决问题。 

 

 

二、Dubbo分布式集群架构 

这个基础上,如果服务是不定数量的大规模集群,就需架构进一步去升级改造。 

image.png 

注册中心可能是个集群,监控中心可能是个集群,在大型业务场景下,服务可能也是个集群。 

无论是支付服务、订单服务、商品服务、账号服务等,都可以根据自己的实际的并发需求,去部署不定规格、不定数量的大规模服务集群。Dubbo联合其他技术人员给用户提供快速上线包括管理的服务Dubbo不仅解决分布式调用的问题,还解决了多协议大规模集群的治理问题,这也是Dubbo在其他大型互联网公司中收到广泛好评的原因 

 

 

三、Dubbo核心组件 

  • Dubbo主要有以下核心组件: 
  1. Provider:服务的提供方,通过Jar或者容器的方式启动服务 
  2. Consumer:服务消费方 
  3. Registry:注册中心 
  4. Monitor:统计服务和调用次数,调用时间监控中心。(Dubbo的控制台页面中可以显示,目前只有一个简单版本 
  5. Container:服务运行的容器 

 

 

四、Dubbo SOA服务治理 

image.png 

Dubbo诞生于SOA盛行的2008年,早期基于Web Service中心SOA服务治理,后面在这个基础上逐渐开始大规模的扩充,服务之间关系越来越复杂。此时需要治理中心,用来做大规模的流量调度、监控等,这些都是极具挑战性的问题,因此阿里开发了很多工具在内部去解决这些问题。 

对于这些挑战性问题,Dubbo的许多观点思想与目前微服务架构Spring Cloud不谋而合。这是由于微服务到大规模集群的层次上,无论怎么拆,它终究会面临这些问题,例如熔断限流,负载均衡,流量调度,安全治理等。 

2013~2017年Dubbo疏于维护,而这是Spring Cloud蓬勃发展时期,逐渐成为世界级微服务框架,但从某种程度上来说,Dubbo可以称为Spring Cloud的前辈。 

 

 

五、Dubbo未来底层同步与异步架构 

image.png 

Dubbo从3.0版本开始,也在做服务高并发协议等方面的改造如云原生支持的改造,去支持底层的高并发高吞吐量,去对接K8s云原生的工具,协议层支持RPC等新的类型,从而让Dubbo整个通信协议更多样化,使用户在不同场景下可以选择不同的实践方式。 

异步请求和同步请求各有优势,异步请求优势在于非阻塞,同步请求的优势在于即时性,但如果是阻塞操作、长时间操作的话,可能会导致线程卡死的状况,影响整体的并发。 

Dubbo整个分布架构是更高层级的架构,它是大规模服务集群,不仅仅是开发落地,而且要大规模服务治理,它的实践经验给其他互联网公司的架构提供了很好的参考。 

 

 

六、Dubbo分布式架构与Remoting 

image.png 

Dubbo分布式架构的远程通讯(Remoting提供对多种NIO框架抽象封装,包括“同步转异步”和“请求-响应”模式的信息交换方式 

相关文章
|
18天前
|
存储 分布式计算 Hadoop
【揭秘Hadoop背后的秘密!】HDFS读写流程大曝光:从理论到实践,带你深入了解Hadoop分布式文件系统!
【8月更文挑战第24天】Hadoop分布式文件系统(HDFS)是Hadoop生态系统的关键组件,专为大规模数据集提供高效率存储及访问。本文深入解析HDFS数据读写流程并附带示例代码。HDFS采用NameNode和DataNode架构,前者负责元数据管理,后者承担数据块存储任务。文章通过Java示例演示了如何利用Hadoop API实现数据的写入与读取,有助于理解HDFS的工作原理及其在大数据处理中的应用价值。
36 1
|
25天前
|
机器学习/深度学习 人工智能 负载均衡
【AI大模型】分布式训练:深入探索与实践优化
在人工智能的浩瀚宇宙中,AI大模型以其惊人的性能和广泛的应用前景,正引领着技术创新的浪潮。然而,随着模型参数的指数级增长,传统的单机训练方式已难以满足需求。分布式训练作为应对这一挑战的关键技术,正逐渐成为AI研发中的标配。
117 5
|
27天前
|
存储 Kubernetes 监控
深入浅出分布式事务:理论与实践
在数字化时代的浪潮中,分布式系统如同星辰大海般浩瀚而深邃。本文将带你航行于这片星辰大海,探索分布式事务的奥秘。我们将从事务的基本概念出发,逐步深入到分布式事务的核心机制,最后通过一个实战案例,让你亲自体验分布式事务的魅力。让我们一起揭开分布式事务的神秘面纱,领略其背后的科学与艺术。
59 1
|
1月前
|
负载均衡 Dubbo 应用服务中间件
框架巨擘:Dubbo如何一统异构微服务江湖,成为开发者的超级武器!
【8月更文挑战第8天】在软件开发中,微服务架构因灵活性和可扩展性备受欢迎。面对异构微服务的挑战,Apache Dubbo作为高性能Java RPC框架脱颖而出。它具备服务注册与发现、负载均衡及容错机制等核心特性,支持多种通信协议和序列化方式,能有效连接不同技术栈的微服务。Dubbo的插件化设计保证了面向未来的扩展性,使其成为构建稳定高效分布式系统的理想选择。
33 5
|
10天前
|
UED 存储 数据管理
深度解析 Uno Platform 离线状态处理技巧:从网络检测到本地存储同步,全方位提升跨平台应用在无网环境下的用户体验与数据管理策略
【8月更文挑战第31天】处理离线状态下的用户体验是现代应用开发的关键。本文通过在线笔记应用案例,介绍如何使用 Uno Platform 优雅地应对离线状态。首先,利用 `NetworkInformation` 类检测网络状态;其次,使用 SQLite 实现离线存储;然后,在网络恢复时同步数据;最后,通过 UI 反馈提升用户体验。
19 0
|
1月前
|
Go API 数据库
[go 面试] 分布式事务框架选择与实践
[go 面试] 分布式事务框架选择与实践
|
15天前
|
消息中间件 存储 Kafka
微服务实践之分布式定时任务
微服务实践之分布式定时任务
|
1月前
|
存储 负载均衡 中间件
构建可扩展的分布式数据库:技术策略与实践
【8月更文挑战第3天】构建可扩展的分布式数据库是一个复杂而具有挑战性的任务。通过采用数据分片、复制与一致性模型、分布式事务管理和负载均衡与自动扩展等关键技术策略,并合理设计节点、架构模式和网络拓扑等关键组件,可以构建出高可用性、高性能和可扩展的分布式数据库系统。然而,在实际应用中还需要注意解决数据一致性、故障恢复与容错性以及分布式事务的复杂性等挑战。随着技术的不断发展和创新,相信分布式数据库系统将在未来发挥更加重要的作用。
|
2月前
|
存储 关系型数据库 MySQL
深度评测:PolarDB-X 开源分布式数据库的优势与实践
本文对阿里云开源分布式数据库 PolarDB-X 进行了详细评测。PolarDB-X 以其高性能、强可用性和出色的扩展能力在云原生数据库市场中脱颖而出。文章首先介绍了 PolarDB-X 的核心产品优势,包括金融级高可靠性、海量数据处理能力和高效的混合负载处理能力。随后,分析了其分布式架构设计,包括计算节点、存储节点、元数据服务和日志节点的功能分工。评测还涵盖了在 Windows 平台通过 WSL 环境部署 PolarDB-X 的过程,强调了环境准备和工具安装的关键步骤。使用体验方面,PolarDB-X 在处理分布式事务和实时分析时表现稳定,但在网络问题和性能瓶颈上仍需优化。最后,提出了改进建
6689 2
|
2月前
|
人工智能 PyTorch TensorFlow
分布式训练:大规模AI模型的实践与挑战
【7月更文第29天】随着人工智能的发展,深度学习模型变得越来越复杂,数据集也越来越大。为了应对这种规模的增长,分布式训练成为了训练大规模AI模型的关键技术。本文将介绍分布式训练的基本概念、常用框架(如TensorFlow和PyTorch)、最佳实践以及可能遇到的性能瓶颈和解决方案。
302 2
下一篇
DDNS