Dubbox分布式服务框架介绍_第1页
Dubbox分布式服务框架介绍_第2页
Dubbox分布式服务框架介绍_第3页
Dubbox分布式服务框架介绍_第4页
Dubbox分布式服务框架介绍_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Dubbox分布式服务框架介绍标题1、dubbox介绍2、演示3、提问Dubbox介绍Dubbox是当当升级维护的一个Dubbo的分支。Dubbo是阿里巴巴SOA服务化治理方案的一个实现。服务化,是一种软件架构方法。把原来一个个的系统,打散成很多服务,组成服务池,提高代码重用性和独立性的方法论。服务化的问题,服务注册/发现、负载均衡、错误重试、升级维护等等,统称为服务治理。 原来内存中的调用变成了网络调用,对网络要求高。 强事务一致性,最终事务一致性。Dubbox介绍 Dubbox支持REST风格的远程调用(HTTP +JSON/XML)。便于跨语言交互,便于对外提供API。支持基于Kryo和

2、FST的Java高效序列化实现,显著提高的Dubbo的RPC性能。支持基于嵌入式Tomcat的HTTP remoting体系,提高远程调用性能。升级Spring到3.X版本。升级Zookeeper客户端。dubbox和dubbo 2.x是兼容的,没有改变dubbo的任何已有的功能和配置方式Dubbox 背景单一应用架构当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。此时,用于简化增删改查工作量的 数据访问框架(ORM) 是关键。垂直应用架构当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,将应用拆成互不相干的几个应用,以提升效率。此时,用于加速前端页面开发的

3、 Web框架(MVC) 是关键。分布式服务架构当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,使前端应用能更快速的响应多变的市场需求。此时,用于提高业务复用及整合的 分布式服务框架(RPC) 是关键。流动计算架构当服务越来越多,容量的评估,小服务资源的浪费等问题逐渐显现,此时需增加一个调度中心基于访问压力实时管理集群容量,提高集群利用率。此时,用于提高机器利用率的 资源调度和治理中心(SOA) 是关键。Dubbo是什么Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。 基于注册中心模式

4、实现RPC远程服务调用,告别Web Service模式。其核心部分包含:远程通讯:提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及“请求-响应”模式的信息交换方式。集群容错:提供基于接口方法的透明远程过程调用,包括多协议支持,以及软负载均衡,失败容错,地址路由,动态配置等集群支持。自动发现:基于注册中心目录服务,使服务消费方能动态的查找服务提供方,使地址透明,使服务提供方可以平滑增加或减少机器。Dubbo如何使用本地服务远程服务 服务提供方:服务消费方:Dubbo架构0. 服务容器负责启动,加载,运行服务提供者。1. 服务提供者在启动时,向注册中心注册自己提供的服务。2

5、. 服务消费者在启动时,向注册中心订阅自己所需的服务。3. 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。4. 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。5. 服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。节点角色说明:Provider:暴露服务的服务提供方。Consumer:调用远程服务的服务消费方。Registry:服务注册与发现的注册中心。Monitor:统计服务的调用次调和调用时间的监控中心。Container:服务运行容器。调用关系

6、说明:Dubbo基本原理Dubbo优缺点1、使用简单方便2、统一的服务调用地址3、能进行软负载均衡,降低对F5硬件负载均衡器的依赖,也能减少部分成本4、连通性:注册中心,服务提供者,服务消费者三者之间均为长连接,监控中心除外注册中心和监控中心全部宕机,不影响已运行的提供者和消费者,消费者在本地缓存了提供者列表注册中心和监控中心都是可选的,服务消费者可以直连服务提供者Dubbo优缺点5、健壮性:监控中心宕掉不影响使用,只是丢失部分采样数据注册中心对等集群,任意一台宕掉后,将自动切换到另一台注册中心全部宕掉后,服务提供者和服务消费者仍能通过本地缓存通讯服务提供者无状态,任意一台宕掉后,不影响使用服

7、务提供者全部宕掉后,服务消费者应用将无法使用,并无限次重连等待服务提供者恢复缺点:只支持JAVA语言Dubbo-RPC基本功能配置配置继承可配置可编程Graceful shutdown优雅停机多注册中心注册中心集群多协议不同服务不同协议同一服务多协议本地服务调用集群&容错集群原理容错规则服务匹配服务分组、多版本指定调用只订阅基本功能-配置继承图中以timeout为例,显示了配置的查找顺序,其它retries, loadbalance, actives等类似。方法级优先,接口级次之,全局配置再次之。如果级别一样,则消费方优先,提供方次之。建议由服务提供方设置超时,因为一个方法需要执行多长时间,服

8、务提供方更清楚,如果一个消费方同时引用多个服务,就不需要关心每个服务的超时设置。基本功能-可编程可配置-暴露服务基本功能-可编程可配置-引用服务基本功能-服务分组当一个接口有多种实现时,可以用group区分服务消费方:服务提供方:基本功能-多版本当一个接口实现,出现不兼容升级时,可以用版本号过渡,版本号不同的服务相互间不引用服务提供方:服务消费方:基本功能-指定调用在开发及测试环境下,经常需要绕过注册中心,只测试指定服务提供者,这时候可能需要点对点直连。点对点直联方式,将以服务接口为单位,忽略注册中心的提供者列表。A接口配置点对点,不影响B接口从注册中心获取列表。注意:为了避免复杂化线上环境,

9、不要在线上使用这个功能,只应在测试阶段使用。基本功能-只订阅共用注册中心,开发人员机器上的服务提供者被误调,影响其他开发人员(开发、测试环境)基本功能-集群&容错负载均衡算法:基本功能-集群&容错集群容错方式:基本功能-多协议数据序列化格式:基本功能-多协议数据传输协议:网络传输类型:基本功能-多注册中心注册中心:基本功能-多注册中心一个服务注册到一个注册中心,也可以注册到多个注册中心在实际应用时,可以针对服务做分类,有的服务注册到多个注册中心,有的服务可能只需注册到一个注册中心。基本功能-Graceful shutdown优雅停机Dubbo是通过JDK的ShutdownHook来完成优雅停机

10、的,所以如果用户使用kill -9 PID等强制关闭指令,是不会执行优雅停机的,只有通过kill PID时,才会执行。演示Zookeeper集群安装与配置syncLimit=5initLimit=10dataDir=E:softzookeeperzk1zk1_tmp# 错误日志的存放位置dataLogDir=E:softzookeeperzk1zk1_logs#zk1,zk2,zk3分别为2181,2182,2183clientPort=2181server.1=:2887:3887 server.2=:2888:3888 server.3=:2889:3889 myid文件创建, zk1,zk2,zk3内容分别为1,2,3演示服务接口工程(dubbo-demo)演示服务接口工程(dubbo-demo)com.alibabadubbo2.5.3springorg.springframework org.apache.zookeeper zookeeper 3.4.8 org.springframework spring-web 3.2.15.RELEASE com.1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论