栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

dubbo的使用(dubbo的实现原理)

dubbo的使用(dubbo的实现原理)

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配置:

 
 
 

  

 
 

用法:在service的实现类上加注解:@Service(注意,此注解使用Dubbo提供的)

 consumer(服务消费者):

xml配置:

 
 
 

 
 

用法:在controller中注入service(注解:@Reference) 6.被事务代理的Service无法发布到Dubbo

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

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

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

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/772058.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号