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

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

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

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

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

图谱名称:Alibaba Java 技术图谱

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


Dubbo 分布式服务治理实践


一、Dubbo课程环境介绍 

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

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

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

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

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

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

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

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

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

二、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向新的层级进行兼容和支持。 

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

 

 

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

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

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

 

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就具备这种特征。 

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

 

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比较优秀的地方 

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

上一篇:Java学习笔记-spring-Bean实例化


下一篇:Python学习笔记四(Python OS模块)