1.什么是Dubbo?

Apache Dubbo是一款高性能的RPC框架(RPC:remote procedure call,即远程过程调用)。

2.Dubbo功能

面向接口的远程方法调用,智能容错和负载均衡,服务自动注册和发现。

以及高度可扩展能力,运行期流量调度,可视化的服务治理与运维。

3.Dubbo架构(来源:Dubbo官网)

  • 注册中心。协调 Consumer 与 Provider 之间的地址注册与发现
  • 配置中心。
    • 存储 Dubbo 启动阶段的全局配置,保证配置的跨环境共享与全局一致性
    • 负责服务治理规则(路由规则、动态配置等)的存储与推送。
  • 元数据中心。
    • 接收 Provider 上报的服务接口元数据,为 Admin 等控制台提供运维能力(如服务测试、接口文档等)
    • 作为服务发现机制的补充,提供额外的接口/方法级别配置信息的同步能力,相当于注册中心的额外扩展

4.Dubbo注册中心--zookeeper

zookper是Apache Hadoop 的子项目,是一种树形目录服务,支持变更推送。适合作为Dubbo服务注册中心。

5.Dubbo基本配置(基于注解)

provider(服务提供者):

  • xml配置:
<!-- 当前应用名称,用于注册中心计算应用间依赖关系,注意:消费者和提供者应用名不要一样 -->
<dubbo:application name="dubbodemo_provider" />
<!-- 连接服务注册中心zookeeper ip为zookeeper所在服务器的ip地址-->
<dubbo:registry address="zookeeper://192.168.134.129:2181"/><!-- 注册 协议和port -->
<dubbo:protocol name="dubbo" port="20881"></dubbo:protocol><!-- 扫描指定包,加入@Service注解的类会被发布为服务 --><dubbo:annotation package="com.xxx.service" />
  • 用法:在service的实现类上加注解:@Service(注意,此注解使用Dubbo提供的)

consumer(服务消费者):

  • xml配置:
<!-- 当前应用名称,用于注册中心计算应用间依赖关系,注意:消费者和提供者应用名不要一样 -->
<dubbo:application name="dubbodemo_consumer" />
<!-- 连接服务注册中心zookeeper ip为zookeeper所在服务器的ip地址-->
<dubbo:registry address="zookeeper://192.168.134.129:2181"/><!-- 扫描controller --><dubbo:annotation package="com.xxx.controller" />
  • 用法:在controller中注入service(注解:@Reference)

6.被事务代理的Service无法发布到Dubbo

  • 原因:基于JDK动态代理的事务在创建代理对象时,对象的完整名为com.sun.proxy.$Proxy42(后面两位数字不固定),导致Dubbo进行包匹配时无法匹配。因此无法发布到Dubbo。
  • 解决方案:

事务修改为基于cglib动态代理.(在配置开启事务注解支持时,添加proxy-target-class="true")

<tx:annotation-driven transaction-manager="transactionManager" proxy-target- class="true"/>

在服务实现类@Service注解中添加:interfaceClass=XXX.class(XXX为要发布服务的类名)

@Service(interfaceClass=XXX.class)
@Transactional
public class XXXServiceImpl implements XXXService{...
}

Dubbo知识点总结相关推荐

  1. dubbo知识点总结 持续更新

    Dubbo 支持哪些协议,每种协议的应用场景,优缺点?  dubbo: 单一长连接和 NIO 异步通讯,适合大并发小数据量的服务调用, 以及消费者远大于提供者.传输协议 TCP,异步,Hessian ...

  2. 以Dubbo为例,聊聊如何为开源项目做贡献

    作者:kiritomoe 来源:Kirito的技术分享 Github 上有众多优秀的开源项目,大多数 IT 从业者将其当做了予取予求的工具库,遇到什么需求,先去 Github 搜一把,但有没有想过有一 ...

  3. dubbo 消费者也要暴露端口吗_一文详细解读 Dubbo 中的 http 协议

    (给ImportNew加星标,提高Java技能) 转自:Kirito的技术分享,作者:kiritomoe 太阳红彤彤,花儿五颜六色,各位读者朋友好,又来到了分享 Dubbo 知识点的时候了.说到 Du ...

  4. dubbo协议_一文详细解读 Dubbo 中的 http 协议

    太阳红彤彤,花儿五颜六色,各位读者朋友好,又来到了分享 Dubbo 知识点的时候了.说到 Dubbo 框架支持的协议,你的第一反应是什么?大概会有 Dubbo 默认支持的 dubbo 协议,以及老生常 ...

  5. 分布式中间件之Dubbo详解

    文章内容输出来源:拉勾教育Java高薪训练营 心得体会: 在拉勾教育高薪训练营里经过三个月多的学习,很辛苦但也收获很多,主要体现在:1.以前是工作遇到了哪方面的问题才去学习并解决,很难形成知识体系,在 ...

  6. 【大总结2】大学两年,写了这篇几十万字的干货总结

    本文是我大学两年知识的总结.涵盖数据结构.算法.语言基础.操作系统.关系数据库.NOSQL.网络/前端/项目基础知识.安全和测试.框架的学习.中间件和工具.设计模式和框架原理.我推荐的资料.我的建议 ...

  7. dubbo相关的知识点总结

    dubbo最近提交到了apache,成为了apache的孵化项目,又开始活跃起来了.就官方在git上面的说明文档和其他资料,学习总结以下dubbo的一些知识点. 1.The dubbo protoco ...

  8. dubbo 内存溢出怎么处理_关于 Dubbo 的重要入门知识点总结

    目录: 一 重要的概念 1.1 什么是 Dubbo? 1.2 什么是 RPC?RPC原理是什么? 1.3 为什么要用 Dubbo? 1.4 什么是分布式? 1.5 为什么要分布式? 二 Dubbo 的 ...

  9. Dubbo思维导图知识点整理

    Dubbo思维导图知识点整理 下载地址:https://download.csdn.net/download/liuhenghui5201/12846897

最新文章

  1. 关于软件产业的两个契机
  2. 用ASP自动生成SQL数据库的安装源程序
  3. 【程序人生】这一年 —— 2020
  4. 675. Cut Off Trees for Golf Event
  5. 对安装好的hadoop集群做个测试
  6. 前端:JS/35/二级联动菜单,select对象,select对象的属性,option对象,option对象属性,实例:省份列表与城市列表的联动
  7. 模拟数据集上训练神经网络,网络解决二分类问题练习
  8. pcre安装_Nginx | Nginx的介绍和安装
  9. mysql代码提示_聊一聊 php 代码提示
  10. 思科 IP 电话被指包含严重的 RCE 缺陷
  11. 毕业三年,同学基本都辞职了,大部分人看完很有同感~
  12. 5. Linux 设备文件名
  13. 【Scratch案例教学】scratch旋转风车 ​​​​scratch编程案例教学 scratch创意编程 少儿编程教案
  14. 单片机编程语言——C语言(2)
  15. ue4 4.27源码下载
  16. 功能测试Ⅱ——测试用例设计方法
  17. “大数据杀熟”背后的算法在为谁服务?
  18. 软件工程的完整生命周期
  19. linux如何编辑配置文件,如何编辑保存LINUX的配置文件
  20. ISA防火墙基础及应用

热门文章

  1. 【手把手】教你搭建Redis代理分片机制Twemproxy
  2. Ubutun18 wifi网速跑不满
  3. 计算机平面设计基础材料,计算机平面设计资料要点.doc
  4. LAMMPS学习系列(10)
  5. randn函数加噪声_numpy给图片加高斯噪声
  6. 我和计算机比本领教案反思,中班社会活动谁的本领大教案反思
  7. java textarea 取值_java Gui中如何获取TextArea的值
  8. 非极大值抑制(nonMaximumSuppression)
  9. HashMap 和 HashTable 哪不同 ?
  10. 挑战与机遇:林郑月娥这些话,透露香港2019发展方向