深入浅出Dubbo
《深入浅出Dubbo》由会员分享,可在线阅读,更多相关《深入浅出Dubbo(27页珍藏版)》请在装配图网上搜索。
1、1 湖南智博旭诺科技有限公司版权所有 深入浅出DubboSmart Chow 2 湖南智博旭诺科技有限公司版权所有 AgendaDubbo简介Dubbo快速入门Dubbo架构设计浅析Dubbo常用配置介绍Dubbo管理工具介绍项目实战经验 3 湖南智博旭诺科技有限公司版权所有 Dubbo简介Dubbo是什么?Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。Dubbo有何特点?远程通讯:基于长连接的NIO框架抽象封装集群容错:提供多协议支持,以及软负载均衡,失败容错,地址路由,动态配置等集群支持。 自动发现:基于注册中心目录服务,使服务消
2、费方能动态的查找服务提供方,支持平滑减少或增加机器 4 湖南智博旭诺科技有限公司版权所有 为什么要使用Dubbo?作为产品经理,我希望我们的组件高内聚,低耦合,产品具有较高的扩展性。能够像搭积木一样将组件组装成一个个项目。作为开发人员,当我调用其他的组件服务时,我只需要了解它的API,至于具体实现,干我屁事!作为实施人员,我希望有个统一的平台能够对我们发布的服务进行监控、治理与性能调优,不然出了问题我找谁呀?。 5 湖南智博旭诺科技有限公司版权所有 为什么要使用Dubbo?剪掉服务调用的“蜘蛛网” 6 湖南智博旭诺科技有限公司版权所有 Dubbo Quick Start理论上Dubbo不依赖任
3、何第三方包,基于性能与稳定性考虑,缺省依赖以下jar包log4j.jar和commons-logging.jar日志输出包。javassist.jar 字节码生成。spring.jar 配置解析。netty.jar 网络传输。 7 湖南智博旭诺科技有限公司版权所有 Dubbo Quick Start(第一步)定义服务接口: (该接口需单独打包,在服务提供方和消费方共享)在服务提供方实现接口:(对服务消费方隐藏实现) 8 湖南智博旭诺科技有限公司版权所有 Dubbo Quick Start(第二步)配置服务提供者 9 湖南智博旭诺科技有限公司版权所有 Dubbo Quick Start(第三步)
4、配置服务消费者 10 湖南智博旭诺科技有限公司版权所有 Dubbo架构浅析节点角色说明Provider: 暴露服务的服务提供方。Consumer: 调用远程服务的服务消费方。Registry: 服务注册与发现的注册中心。Container: 服务运行容器。(e.g.)SpringMonitor: 统计服务的调用次调和调用时间的监控中心。特性 连通性健壮性伸缩性升级性 11 湖南智博旭诺科技有限公司版权所有 Dubbo架构Overview 12 湖南智博旭诺科技有限公司版权所有 Dubbo常用配置介绍(Overview) 服务配置,用于暴露服务。 引用配置,用于创建一个远程服务代理 协议配置,用
5、于配置提供服务的协议信息,协议由提供方指定,消费方被动接受。 应用配置,用于配置当前应用信息,不管该应用是提供者还是消费者。 模块配置,用于配置当前模块信息,可选。 注册中心配置,用于配置连接注册中心相关信息。 监控中心配置,用于配置连接监控中心相关信息,可选。 提供方的缺省值,当ProtocolConfig和ServiceConfig某属性没有配置时,采用此缺省值,可选。 消费方缺省配置,当ReferenceConfig某属性没有配置时,采用此缺省值,可选。 方法配置,用于ServiceConfig和ReferenceConfig指定方法级的配置信息。 用于指定方法参数配置。 13 湖南智博
6、旭诺科技有限公司版权所有 Dubbo常用配置介绍(配置优先级)以timeout为例,显示了配置的查找顺序方法级优先,接口级次之,全局配置最小如果级别一样,则消费方优先,提供方次之提供方的配置通过URL经由注册中心传递给消费方建议服务提供方设置超时 14 湖南智博旭诺科技有限公司版权所有 Dubbo常用配置介绍(服务提供者)配置应用程序名称配置注册中心地址(重要) 注册中心支持以下4种类型 Zookeeper (目前在生产环境使用,需要安装zookeeper注册中心服务)Redis (可用于生产)Multicast (缺省配置,只适合测试环境,不能跨网段)Simple (Only for Tes
7、t) 15 湖南智博旭诺科技有限公司版权所有 Dubbo常用配置介绍(服务提供者)配置通讯协议(重要) name协议名称:默认为dubbo,支持rmi,hessian2,http,ws,thrift,memcached,redisport:暴露服务的端口号。(如何为-1表示随机产生端口号)serialization :支持dubbo,hessian2,java,json默认为hessian2register:该协议的服务是否注册到注册中心,默认为true Threads服务线程池大小server:协议的服务端实现类型client:协议的客户端实现类型. 16 湖南智博旭诺科技有限公司版权所有
8、Dubbo常用配置介绍(服务提供者)配置需要暴露的服务接口 (重要) 常用可选项有:retries: 默认为2,如果不需要设置重试设为0timeout:超时设置executes:服务器端并发执行(或占用线程数)不超过设置个数actives: 每客户端并发执行(或占连接的请求数)不超过设置个数 deprecated:默认为false,如果需要设置服务过时,设置为true,消费者调用时会打印警告日志。provider:指定provider,值为的id属性 17 湖南智博旭诺科技有限公司版权所有 Dubbo常用配置介绍(服务消费者)配置应用程序名称配置注册中心(重要) 配置远程服务代理 18 湖南智
9、博旭诺科技有限公司版权所有 Dubbo管理工具-zookeeper介绍Zookeeper为新华现场使用的注册中心实现下载压缩包后直接解压即可,常用的配置如下($root/conf/zoo.cfg): dataDir:zookeeper数据文件存放地址。默认在c:/tmp下,需要定时清理。 clientPort:端口号,这个在dubbo注册中心配置中需要用到 maxClientCnxns:连接到 ZooKeeper 的客户端的数量 参考资料http:/ 19 湖南智博旭诺科技有限公司版权所有 Dubbo管理控制台管理控制台安装手册 http:/ 开发环境管理控制台地址:http:/192.168
10、.1.41:8202 20 湖南智博旭诺科技有限公司版权所有 Dubbo简易监控中心简易监控中心安装手册http:/ 开发环境监控中心地址: http:/192.168.66.65:8080/ 21 湖南智博旭诺科技有限公司版权所有 Dubbo项目实战总结问题一: 对象序列化问题,Cpoe中由于历史原因domain中存在父类与子类都存在同一属性的情况,导致默认的hessian2序列化无法设值成功。 解决方案: 将序列化方式改为dubbo。Java也可以,不过性能差点。 问题二:患者查询中存在一个方法的入参为Map,map里面放置的是复杂数据类型。导致无法调用成功。 解决方案: 将序列化方式改为
11、java。 22 湖南智博旭诺科技有限公司版权所有 Dubbo项目实战总结问题三: jboss7 不支持按顺序启动,导致后台服务中提供者和消费者的启动顺序得不到保障,因此报错。 解决方案: 问题四:Jboss7 热部署后台服务时,不会把暴露的端口号给注销掉,会导致出现端口号被占用的错误。 临时解决方案: 将端口改为-1。 23 湖南智博旭诺科技有限公司版权所有 Dubbo项目实战总结问题五: 引入dubbo机制后,很多服务是抛的Framework BusinessException(该异常是运行时异常),dubbo远程调用时会在原来异常上再包装一层,导致原来给用户的提示信息变成了500错误。
12、临时解决方案:在接口方法上声明需要抛出的异常。 终极解决方案:采用SPI方式扩展Dubbo异常处理过滤器,(参考git192.168.66.28:earth/earth-dubbo-extension.git) 另外需要添加以下配置 Dubbo扩展参考资料Java spi 机制浅谈 24 湖南智博旭诺科技有限公司版权所有 Dubbo项目实战总结问题六: 为方便开发测试,经常会在线下共用一个所有服务可用的注册中心,这时,如果一个正在开发中的服务提供者注册,可能会影响消费者不能正常运行。 解决方案:可以让服务提供者开发方,只订阅服务(开发的服务可能依赖其它服务),而不注册正在开发的服务,通过直连测试正在开发的服务。 实现步骤: 1. 2. 25 湖南智博旭诺科技有限公司版权所有 Dubbo项目实战总结问题七: Q:如何标识服务? A:通过group,interface,version三个属性来标识是否为同一服务扩展应用 服务分组:当一个接口有多种实现时,可以用group区分。 多版本:当一个接口实现,出现不兼容升级时,可以用版本号过渡,版本号不同的服务相互间不引用。 26 湖南智博旭诺科技有限公司版权所有 Any Question? 27 湖南智博旭诺科技有限公司版权所有 课后作业搭建管理控制台搭建简易监控中心搭建基于zookeeper注册中心的集群环境
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四年级科学下册《食物包装上的信息》教科版课件
- 加强官德修养-做有德领导教学课件
- 医院药物临床试验机构资料管理员专项培训教材课件
- 北京中小学学生电子学籍管理系统一年级信息录入培训课件
- 医疗服务全面质量管理-课件
- 加强处方点评促进合理用药课件
- 加强学科建设打造品牌医院提升三级医院综合服务能力培训课件
- 化工设备检修安全技术概述课件
- 四年级下册英语Unit2WhattimeisitPartA课时课件
- 化工设备常用零部件图样及结构选用概述课件
- 加强学习履行职责做一名称职的党务干部支部书记培训课件2
- 医务人员艾滋病病毒职业暴露的预防及处理课件
- 四年级上第四单元三位数乘两位数解决问题课件
- 四年级数学上册计算工具的认识及计算课件免
- 四年级期末家长会(语文)课件