Dubbo分布式服务治理实战 (it-ebooks) (Z-Library)

Author: it-ebooks

教育

No Description

📄 File Format: PDF
💾 File Size: 1.4 MB
26
Views
0
Downloads
0.00
Total Donations

📄 Text Preview (First 20 pages)

ℹ️

Registered users can read the full content for free

Register as a Gaohf Library member to read the complete e-book online for free and enjoy a better reading experience.

📄 Page 1
(This page has no text content)
📄 Page 2
扫一扫 钉钉扫一扫 免费领取同步课程 进入官方答疑群 开发者学院【Alibaba Java技术图谱】 阿里云开发者“藏经阁” 更多好课免费学 海量电子书免费下载
📄 Page 3
推荐理由 Dubbo 是阿里巴巴开源的高性能分布式 RPC 服务治理框架,已经捐献给 Apache 开 源组织。最新的版本是 3.0。在阿里巴巴、工行、电信、银联、中国人寿、网易、滴滴当 当等互联网公司中有大规模使用,历经双 11 等流量检验。Dubbo 提供了六大核心能力: 面向接口代理的高性能 RPC 调用,智能容错和负载均衡,服务自动注册和发现,高度可 扩展能力,运行期流量调度,可视化的服务治理与运维,功能强大。未来支持 Go、K8S 云原生等技术。代表着高性能微服务架构的发展方向。
📄 Page 4
目录 1. Dubbo 分布式框架介绍与 3.0 新特性 5 2. Dubbo 分布式加与淘宝双 11大规模服务集群治理 14 3. Dubbo3.0 分布式 RPC协议解析 20 4. Dubbo 分布式Order 订单服务集群治理实战 25 5. Dubbo 集成 Nacos 注册中心实战 33
📄 Page 5
5 > 1. Dubbo 分布式框架介绍与 3.0 新特性 1. Dubbo 分布式框架介绍与 3.0 新特性 内容简介: 一、Dubbo 课程环境介绍 二、Dubbo3.0 分布式服务治理框架新特性 一、Dubbo 课程环境介绍 1. 阿里 Java 开发者学院 2021 最新课程 Dubbo 相比传统分布式框架有很大差别,Dubbo 本身解决的问题不仅仅是服务调 用,致力于提供高性能和透明化的 RPC 远程服务调用方案,以及 SOA 服务治理方案。 所以相比传统 RPC,在架构层次上又做了一次很重要的升级,这个课程是作为 Java 服 务课程前置的非常重要的学习课程。 阿里巴巴专家亲自授课,覆盖最新 Spring Cloud 微服务架构:
📄 Page 6
1. Dubbo 分布式框架介绍与 3.0 新特性 < 6 2. Dubbo 分布式服务治理框架实战—步步为赢 如果是刚工作不久的同学,可以看一下 Java 的高级编程知识,包括我虚拟机、多 线程等编程框架。希望大家在做架构师对公司框架有深入、系统的研究。回顾整个 Dubbo 分布式框架,在开源社区的影响非常大,主要在微服务架构流行之前,实际已经 在做大规模的分布式服务集群的开发、落地、治理工作。Dubbo 很多经典设计模式和思 想挑战性问题,目前在微服务架构中用到了相同的技术条件和问题,有很重要的参考、 对比价值。 在做架构师技术选型的时候,不能只会一个框架,很多公司的框架实际是定死的, 作为架构师照搬就行。但是对于架构师的要求来说,还是希望能够精通多种架构方式, 这样在应对不同的问题、不同的场景的时候,能有更多合理性选择。 Dubbo 从理论到架构设计模式,逐步带入实战练习,模拟订单服务、模拟机群,客 户端实现调用操作。在实战过程中,希望大家把其他的组件给用起来,比如说 Dubbo 注册中心等,逐步联系起来。当然 Dubbo 本身也有自己的监控组件,有自己的熔断机制。
📄 Page 7
7 > 1. Dubbo 分布式框架介绍与 3.0 新特性 二、Dubbo3.0 分布式服务治理框架新特性 1. 分布式服务治理框架Dubbo介绍 Dubbo 已经发展到 3.0,经过很长时间迭代,在阿里巴巴集团内部大量使用,在官 网上有介绍。回顾整个分布式架构发展历史,淘宝诞生在 2003 年,经历过非常典型的各 种分布式架构发展过程,淘宝本身有自己的分布式框架 hsf,hsf 和 Dubbo 设计思想有 很多相似之处,协议、集群治理也有很多重合的地方。但是 Dubbo 本身是使用的更广泛, 在业界影响力更大。 Dubbo 优秀的地方在于,整个架构诞生在 SOS 时代,但是有 RPC 思想的影子,相比 传统的 RPC 框架,Dubbo 走的路线更高了一个层级,做大规模服务的解耦和治理的工 作,管控服务,实现服务的查找、发现、负载均衡、上线下线以及流量管控等功能。
📄 Page 8
1. Dubbo 分布式框架介绍与 3.0 新特性 < 8 今天来看,不仅阿里巴巴,行业里面有很多公司在用 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。 2. Dubbo 发展历程 Dubbo 2008 年诞生,后面有一段时间不维护了,开源项目也会受到成员工作繁忙 程度等因素的影响。2017 年又重新启动,进入孵化器。2020 年启动 3.0,开启微服务时 代,对 Dubbo 进行升级扩充,在微服务时代 Dubbo 向新的层级进行兼容和支持。
📄 Page 9
9 > 1. Dubbo 分布式框架介绍与 3.0 新特性 3. Dubbo3.0 —— 架构升级扩展:多协议+云原生 Dubbo 之前也支持各种不同的通讯协议、虚拟化协议,而且部署方式相比的 HSF 更多元化、更灵活。目前在设计角度很明显的增强,是开始支持 GRPC 行业级协议,成 为行业标准。很多接口都用包括 K8S,大量调度。另外像 HTTP2,是 HTTP 协议新的升 级版本,包括负载均衡策略以及路由策略都定了增强,这些 Dubbo 做的比较好的地方。 Dubbo 在 3.0 以后,整个生态会变得更强大,多协议向云原生靠拢。 4. Dubbo 服务治理框架 整体来说,Dubbo 本身是作为一个非常优秀的服务治理,服务治理指的并不是简单 SOA 架构,指的是大规模服务集群的量级,是 Dubbo 较强大的地方。当然如果只有一 个服务两个服务的话,Dubbo 也可以做,理论上可以支持更高、更复杂的架构。Dubbo 服务治理框架总结:
📄 Page 10
1. Dubbo 分布式框架介绍与 3.0 新特性 < 10 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 就具备这种特征。
📄 Page 11
11 > 1. Dubbo 分布式框架介绍与 3.0 新特性 6. SOA架构演化 1)单一应用架构  当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和 成本。  此时,用于简化增删改查工作量的 数据访问框架(ORM) 是关键。 2)垂直应用架构  当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,将应用拆成互不相 干的几个应用,以提升效率。  此时,用于加速前端页面开发的 Web框架(MVC) 是关键。 3)分布式服务架构  当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的 服务,逐渐形成稳定的服务中心,使前端应用能更快速的响应多变的市场需求。
📄 Page 12
1. Dubbo 分布式框架介绍与 3.0 新特性 < 12  此时,用于提高业务复用及整合的 分布式服务框架(RPC) 是关键。 4)流动计算架构  当服务越来越多,容量的评估,小服务资源的浪费等问题逐渐显现,此时需增加一 个调度中心基于访问压力实时管理集群容量,提高集群利用率。  此时,用于提高机器利用率的 资源调度和治理中心(SOA) 是关键。 7. Dubbo 优缺点 1)透明化的远程方法调用  像调用本地方法一样调用远程方法;只需简单配置,没有 API 侵入。 2)软负载均衡及容错机制  可在内网替代 nginx lvs 等硬件负载均衡器。 3)服务注册中心自动注册 & 配置管理  不需要写死服务提供者地址,基于接口名自动查询提供者。使用类似 zookeeper 等 分布式协调服务作为服务注册中心,可以将绝大部分项目配置移入zookeeper集群。
📄 Page 13
13 > 1. Dubbo 分布式框架介绍与 3.0 新特性 4)服务接口监控与治理  Dubbo-admin 与 Dubbo-monitor 提供了完善的服务接口管理与监控功能,针对不 同应用的不同接口,可以进行 多版本,多协议,多注册中心管理。 8. Dubbo&HSF&Spring Cloud 对比 大家在做技术选型的时候,如果你选 Spring Cloud 做微服架构是可以的,它的整个 体系比较完善,组件体系应该有 50 个左右非常多,而且比较完善,阿里也贡献了 Spring Cloud 一系列框架,整个社区项目非常完善,是做微服务的一个选择。 Dubbo 现在也开始支持 REST API,成为微服务有效版图中的一块。Dubbo 更强的 是,做企业局域网分布式架构的大规模集群改造,用 Dubbo 协议层次上会做的更优秀。 淘宝的 HSF 相对来说生态没有那么好,主要是在阿里内部有,而 Dubbo 在社区内 遍地开花,成为顶级项目,这是 Dubbo 比较优秀的地方。
📄 Page 14
2. Dubbo 分布式加与淘宝双 11大规模服务集群治理 < 14 2. Dubbo分布式加与淘宝双11大规模服 务集群治理 内容简介: 一、Dubbo 分布式架构 二、Dubbo 分布式集群架构 三、Dubbo 核心组件 四、Dubbo SOA 服务治理 五、Dubbo 未来底层同步与异步架构 六、Dubbo 分布式架构与 Remoting 一、Dubbo 分布式架构
📄 Page 15
15 > 2. Dubbo 分布式加与淘宝双 11大规模服务集群治理 Dubbo 架构主要分为两个部分:客户端与服务端,也可称为 Dubbo 消费者和 Dubbo 提供者。 例如电商网站,要调支付服务、物流服务、订单服务、监控服务、大数据服务等, 服务是某些功能的封装,这些是提供者所提供的服务。作为客户端的话,用户要调用这 些服务去完成某些业务功能,因为客户端和服务端是位于不同进程,位于分布式网络中 不同的节点上,这是典型的一个架构。如果客户端和服务端两个都是单体的话,则为最 简单的分布式架构。 随着业务的不断发展,架构也会不断演化。有些业务是大规模的集群,此时单点调 用无法解决问题,这是由于服务端可能有 10 台、100 台、1000 台甚至更多。同样的服 务有时候上线有时候下线,无法预估有多少台可能会上线,多少台会下线,此时需要使 用集群的弹性收缩功能解决这个问题。 如果集群从上线到下线到运行一直都是 10 台,则正常情况就能满足需求。但如果在 某些大型业务场景,例如双 11 时,平时 10 台可以满足的业务,在双 11 的时候可能需 要 1000 台,甚至上万台进行支撑。因此,不同的业务集群规模是不一样的,小规模集群 可能直接基于 IP 进行集群搭建就可以,大规模集群则需要对接多个不同的局域网,基于 域名的方式进行调度的情况可能更多一点。 因此,Dubbo 分布式架构不仅仅是客户端和服务端、消费者和提供者这样的调用关 系,它解决的是大规模客户端与大规模服务端的管理问题。
📄 Page 16
2. Dubbo 分布式加与淘宝双 11大规模服务集群治理 < 16 简单的架构要解决技术问题的话,它还需要有一个注册中心,还有应用监控中心, 这就是典型的 Dubbo 早期解决问题。 二、Dubbo 分布式集群架构 在这个基础上,如果服务是不定数量的大规模集群,就需架构进一步去升级改造。 注册中心可能是个集群,监控中心可能是个集群,在大型业务场景下,服务可能也 是个集群。 无论是支付服务、订单服务、商品服务、账号服务等,都可以根据自己的实际的并 发需求,去部署不定规格、不定数量的大规模服务集群。Dubbo 联合其他技术人员给用 户提供快速上线、包括管理的服务。Dubbo 不仅解决分布式调用的问题,还解决了多协 议大规模集群的治理问题,这也是 Dubbo 在其他大型互联网公司中收到广泛好评的原 因。
📄 Page 17
17 > 2. Dubbo 分布式加与淘宝双 11大规模服务集群治理 三、Dubbo 核心组件 Dubbo 主要有以下核心组件:  Provider:服务的提供方,通过 Jar 或者容器的方式启动服务  Consumer:服务消费方  Registry:注册中心  Monitor:统计服务和调用次数,调用时间监控中心。(Dubbo 的控制台页面中可 以显示,目前只有一个简单版本)  Container:服务运行的容器 四、Dubbo SOA 服务治理 Dubbo 诞生于 SOA 盛行的 2008 年,早期基于Web Service 中心 SOA 服务治理, 后面在这个基础上逐渐开始大规模的扩充,服务之间关系越来越复杂。此时需要治理中
📄 Page 18
2. Dubbo 分布式加与淘宝双 11大规模服务集群治理 < 18 心,用来做大规模的流量调度、监控等,这些都是极具挑战性的问题,因此阿里开发了 很多工具在内部去解决这些问题。 对于这些挑战性问题,Dubbo 的许多观点思想与目前微服务架构 Spring Cloud 不 谋而合。这是由于当微服务到了大规模集群的层次上,无论怎么拆,它终究会面临这些 问题,例如熔断限流,负载均衡,流量调度,安全治理等。 2013~2017 年 Dubbo 疏于维护,而这是 Spring Cloud 蓬勃发展时期,逐渐成为 世界级微服务框架,但从某种程度上来说,Dubbo 可以称为 Spring Cloud 的前辈。 五、Dubbo 未来底层同步与异步架构 Dubbo 从 3.0 版本开始,也在做服务高并发、协议等方面的改造。如云原生支持的 改造,去支持底层的高并发高吞吐量,去对接 K8s 云原生的工具,协议层支持 RPC
📄 Page 19
19 > 2. Dubbo 分布式加与淘宝双 11大规模服务集群治理 等新的类型,从而让 Dubbo 整个通信协议更多样化,使用户在不同场景下可以选择不同 的实践方式。 异步请求和同步请求各有优势,异步请求优势在于非阻塞,同步请求的优势在于即 时性,但如果是阻塞操作、长时间操作的话,可能会导致线程卡死的状况,影响整体的 并发。 Dubbo 整个分布架构是更高层级的架构,它是大规模服务集群,不仅仅是开发落地, 而且要大规模服务治理,它的实践经验给其他互联网公司的架构提供了很好的参考。 六、Dubbo 分布式架构与 Remoting Dubbo 分布式架构的远程通讯(Remoting)提供对多种 NIO 框架抽象封装,包括 “同步转异步”和“请求-响应”模式的信息交换方式。
📄 Page 20
3. Dubbo3.0 分布式 RPC协议解析 < 20 3. Dubbo3.0 分布式 RPC协议解析 内容简介: 一、Dubbo 分布式 RPC 协议解析 二、高级面试题:Dubbo 支持的协议 三、Dubbo 默认协议 四、Dubbo 线程消息分发模型 五、Dubbo 提供的注册中心 一、Dubbo 分布式 RPC协议解析 Dubbo 是 RPC 基础上改造的一套框架,底层分时通信的基础设施没变,主要是在 协议层另做了一层封装,封装思路是大规模服务集群治理,希望支持更多协议,不仅仅 是Webservice,或者 REST API 这种风格的通信,而是直接封装的服务接口,发送授信 协议进行通信,基于汽车网络协议中的MQTT 再次封装。 企业局域网通信,即使有公网通信,有些平台也希望定制自己的协议,典型代表有 QQ、微信和阿里钉钉,封闭的聊天系统里面通信很多,Dubbo 是自定义协议,实际在 此基础上提供协议的再次封装,如在 TCP 基础上,不仅支持 REST,传统跨平台跨语言 的企业级行业协议,另外还会做一些协议扩展,效率方面有更高要求,希望在原生的 TCP 或者 UDP 基础上,在二进制数据包上做封装。
The above is a preview of the first 20 pages. Register to read the complete e-book.

💝 Support Author

0.00
Total Amount (¥)
0
Donation Count

Login to support the author

Login Now
Back to List