版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1 湖南智博旭诺科技有限公司版权所有 深入浅出Dubbo Smart Chow 2 湖南智博旭诺科技有限公司版权所有 Agenda Dubbo简介 Dubbo快速入门 Dubbo架构设计浅析 Dubbo常用配置介绍 Dubbo管理工具介绍 项目实战经验 3 湖南智博旭诺科技有限公司版权所有 Dubbo简介 Dubbo是什么? Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC 远程服务调用方案,以及SOA服务治理方案。 Dubbo有何特点? 远程通讯:基于长连接的NIO框架抽象封装 集群容错:提供多协议支持,以及软负载均衡,失败容错,地址路 由,动态配置等集群支持。 自动发现:基
2、于注册中心目录服务,使服务消费方能动态的查找服 务提供方,支持平滑减少或增加机器 4 湖南智博旭诺科技有限公司版权所有 为什么要使用Dubbo? 作为产品经理,我希望我们的组件高内聚,低耦合, 产品具有较高的扩展性。能够像搭积木一样将组件组 装成一个个项目。 作为开发人员,当我调用其他的组件服务时,我只需 要了解它的API,至于具体实现,干我屁事! 作为实施人员,我希望有个统一的平台能够对我们发 布的服务进行监控、治理与性能调优,不然出了问题 我找谁呀? 。 5 湖南智博旭诺科技有限公司版权所有 为什么要使用Dubbo? 剪掉服务调用的“蜘蛛网” 6 湖南智博旭诺科技有限公司版权所有 Dubb
3、o Quick Start 理论上Dubbo不依赖任何第三方包,基于性能与稳定 性考虑,缺省依赖以下jar包 log4j.jar和commons-logging.jar日志输出包。 javassist.jar 字节码生成。 spring.jar 配置解析。 netty.jar 网络传输。 7 湖南智博旭诺科技有限公司版权所有 Dubbo Quick Start(第一步) 定义服务接口: (该接口需单独打包,在服务提供方和 消费方共享) 在服务提供方实现接口:(对服务消费方隐藏实现) 8 湖南智博旭诺科技有限公司版权所有 Dubbo Quick Start(第二步) 配置服务提供者 9 湖南智博
4、旭诺科技有限公司版权所有 Dubbo Quick Start(第三步) 配置服务消费者 10 湖南智博旭诺科技有限公司版权所有 Dubbo架构浅析 节点角色说明 Provider: 暴露服务的服务提供方。 Consumer: 调用远程服务的服务消费方。 Registry: 服务注册与发现的注册中心。 Container: 服务运行容器。(e.g.)Spring Monitor: 统计服务的调用次调和 调用时间的监控中心。 特性 连通性 健壮性 伸缩性 升级性 11 湖南智博旭诺科技有限公司版权所有 Dubbo架构Overview 12 湖南智博旭诺科技有限公司版权所有 Dubbo常用配置介绍(
5、Overview) 服务配置,用于暴露服务。 引用配置,用于创建一个远程服务代理 协议配置,用于配置提供服务的协议信息, 协议由提供方指定,消费方被动接受。 应用配置,用于配置当前应用信息, 不管该应用是提供者还是消费者。 模块配置,用于配置当前模块信息,可选。 注册中心配置,用于配置连接注册中心相关信息。 监控中心配置,用于配置连接监控中心相关信息,可选。 提供方的缺省值,当ProtocolConfig和ServiceConfig 某属性没有配置时,采用此缺省值,可选。 消费方缺省配置, 当ReferenceConfig某属性没有配置时,采用此缺省值,可选。 方法配置,用于ServiceCo
6、nfig和ReferenceConfig指定方法级的配置信息。 用于指定方法参数配置。 13 湖南智博旭诺科技有限公司版权所有 Dubbo常用配置介绍(配置优先级) 以timeout为例,显示了配置的查找顺序 方法级优先,接口级次之,全局配置最小 如果级别一样,则消费方优先,提供方次之 提供方的配置通过URL经由注册中心传递给消费方 建议服务提供方设置超时 14 湖南智博旭诺科技有限公司版权所有 Dubbo常用配置介绍(服务提供者) 配置应用程序名称 配置注册中心地址(重要) 注册中心支持以下4种类型 Zookeeper (目前在生产环境使用,需要安装zookeeper注册中心服务) Redi
7、s (可用于生产) Multicast (缺省配置,只适合测试环境,不能跨网段) Simple (Only for Test) 15 湖南智博旭诺科技有限公司版权所有 Dubbo常用配置介绍(服务提供者) 配置通讯协议(重要) name协议名称:默认为dubbo,支持rmi,hessian2,http,ws,thrift,memcached,redis port:暴露服务的端口号。(如何为-1表示随机产生端口号) serialization :支持dubbo,hessian2,java,json默认为hessian2 register:该协议的服务是否注册到注册中心,默认为true Threa
8、ds服务线程池大小 server:协议的服务端实现类型 client:协议的客户端实现类型 . 16 湖南智博旭诺科技有限公司版权所有 Dubbo常用配置介绍(服务提供者) 配置需要暴露的服务接口 (重要) 常用可选项有: retries: 默认为2,如果不需要设置重试设为0 timeout:超时设置 executes:服务器端并发执行(或占用线程数)不超过设置个数 actives: 每客户端并发执行(或占连接的请求数)不超过设置个数 deprecated:默认为false,如果需要设置服务过时,设置为true,消费者调用时会打印 警告日志。 provider:指定provider,值为的id
9、属性 17 湖南智博旭诺科技有限公司版权所有 Dubbo常用配置介绍(服务消费者) 配置应用程序名称 配置注册中心(重要) 配置远程服务代理 18 湖南智博旭诺科技有限公司版权所有 Dubbo管理工具-zookeeper介绍 Zookeeper为新华现场使用的注册中心实现 下载压缩包后直接解压即可,常用的配置如下($root/conf/zoo.cfg): dataDir:zookeeper数据文件存放地址。默认在c:/tmp下,需要定时清理。 clientPort:端口号,这个在dubbo注册中心配置中需要用到 maxClientCnxns:连接到 ZooKeeper 的客户端的数量 参考资料
10、 http:/ http:/ 19 湖南智博旭诺科技有限公司版权所有 Dubbo管理控制台 管理控制台安装手册 http:/ %E7%AE%A1%E7%90%86%E6%8E%A7%E5%88%B6%E5%8F%B0%E5%AE%89%E8%A3%85 管理控制台功能 路由规则,动态配置,服务降级。 访问控制,权重调整, 负载均衡,等管理功能。 开发环境管理控制台地址:1:8202 20 湖南智博旭诺科技有限公司版权所有 Dubbo简易监控中心简易监控中心 简易监控中心安装手册 http:/ %E7%AE%80%E6%98%93%E7%9B%91%E6%8E%
11、A7%E4%B8%AD%E5%BF%83%E5%AE%89%E8%A3%85 简易监控中心说明 需要安装linux服务器上 用于监控服务方法调用情况 挂掉不会对生产环境造成影响 开发环境监控中心地址: 5:8080/ 21 湖南智博旭诺科技有限公司版权所有 Dubbo项目实战总结 问题一: 对象序列化问题,Cpoe中由于历史原因domain中存在父类与子类都存在同一属性的情况, 导致默认的hessian2序列化无法设值成功。 解决方案: 将序列化方 式改为dubbo。Java也可以,不过性能差点。 问题二: 患者查询中存在一个方法的入参为Map,map里面放
12、置的是复杂数据类型。导致无法调用 成功。 解决方案: 将序列化方式 改为java。 22 湖南智博旭诺科技有限公司版权所有 Dubbo项目实战总结 问题三: jboss7 不支持按顺序启动,导致后台服务中提供者和消费者的启动顺序得不到保障,因此 报错。 解决方案: 问题四: Jboss7 热部署后台服务时,不会把暴露的端口号给注销掉,会导致出现端口号被占用的错 误。 临时解决方案: 将端口改为-1。 23 湖南智博旭诺科技有限公司版权所有 Dubbo项目实战总结 问题五: 引入dubbo机制后,很多服务是抛的Framework BusinessException(该异常是运行时异常), dub
13、bo远程调用时会在原来异常上再包装一层,导致原来给用户的提示信息变成了500错误。 临时解决方案:在接口方法上声明需要抛出的异常。 终极解决方案:采用SPI方式扩展Dubbo异常处理过滤器,(参考git8:earth/earth- dubbo-extension.git) 另外需要添加以下配置 Dubbo扩展参考资料 Java spi 机制浅谈 24 湖南智博旭诺科技有限公司版权所有 Dubbo项目实战总结 问题六: 为方便开发测试,经常会在线下共用一个所有服务可用的注册中心,这时,如果一个正在 开发中的服务提供者注册,可能会影响消费者不能正常运行。 解决方案:可以让服务提供者开发方,只订阅服务(开发的服务可能依赖其它服务),而不注 册正在开发的服务,通过直连测试正在开发的服务。 实现步骤: 1. 2. 25 湖南智博旭诺科技有限公司版权所有 Dubbo项目实战总结 问题七: Q:如何标识服务? A:通过group,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 加油站油库员工三级安全教育考核题目(附答案)
- 2025年注安道路运输安全实务真题及答案解析
- 医院感染知识培训试题2026(附答案)
- 2025年交通安全教育培训试题及答案
- 建设工程施工合同纠纷要素式起诉状模板可直接提交法院
- 水产养殖2026年可持续发展
- 2026年数据隐私保护指南
- 消费者洞察2026年精准定位
- 药品供应链2026年优化方案
- 房产营销经理年终总结(3篇)
- PDLC薄膜性能的研究
- 一级2026年注册建筑师之设计前期与场地设计考试题库300道附参考答案【黄金题型】
- 三方协议书就业协议书
- 排水管网疏通与养护技术方案
- 地源热泵机房施工规划与组织方案
- 太仓市高一化学期末考试卷及答案
- 肝内胆管恶性肿瘤护理查房
- 2025-2026学年浙教版(2023)初中信息科技七年级上册教学计划及进度表
- 昆明医科大学海源学院《高等数学下》2024-2025学年第一学期期末试卷
- 中国特发性面神经麻痹(面瘫)治疗指南(2022)解读
- 2025年浙江省委党校在职研究生招生考试(社会主义市场经济)历年参考题库含答案详解(5卷)
评论
0/150
提交评论