dubbo的记录
dubbo:与Spring可以无缝集成的RPC开源框架,包括几大核心能力:1.面向接口的远程方法调用。2.容错和负载均衡。3.服务的自动注册和发现
使用方法:
a、提供方暴露接口;
b、消费方查阅(reference)接口;
c、注册中心将已经注册的接口通知给需要的服务;
服务方配置:
<!-- dubbo覆盖规则:消费方替换提供方配置;同一方中细粒度替换粗粒度配置 -->
<dubbo:application name="provider-service" />
<dubbo:registry protocol="zookeeper" address="${zookeeper.cluster}" dynamic="false"/>
<dubbo:protocol name="dubbo" host="${dubbo.ip}" port="${dubbo.port}" threads="1000" dispatcher="message"/>
<dubbo:provider timeout="20000" host="${dubbo.ip}"/>
<dubbo:service interface="com.xxx.interface1" ref="interface1" timeout="20000"/>
<dubbo:service interface="com.xxx.interface2" ref="interface2" timeout="5000"/>
消费方配置:
<!-- dubbo覆盖规则:消费方替换提供方配置;同一方中细粒度替换粗粒度配置 -->
<dubbo:application name="comsumer-service"/>
<dubbo:registry protocol="zookeeper" address="${zookeeper.cluster}" dynamic="true" session="30000"/>
<dubbo:consumer timeout="1200000" check="false"/>
<dubbo:reference id="interface1" interface="com.xxx.interface1" timeout="1200000"/>
<dubbo:reference id="interface2" interface="com.xxx.interface2" timeout="5000"/>
其中,注册中心可以替换,替换也很简单,比如要将zookeeper替换为nacos,只需修改<dubbo:registry .../>这一句
<!-- 使用 Nacos 注册中心 -->
<dubbo:registry address="nacos://127.0.0.1:8848"/>
annotation 配置方式
annotation 配置方式其实是在 XML 配置方式上,将暴露服务和调用服务与 Spring 深度结合起来。
Provider 方配置
将 <dubbo:service> 节点换成 <dubbo:annotation> 节点:
<dubbo:annotation package="com.xxx.service.impl" />
其中 package 表示要扫描的包,之后在实现类里加上注解 @Service(version = "1.0.0")
注意这里用的 @Service 注解是 alibaba.dubbo 中的 Service 注解。
Consumer 方配置
将 <dubbo:reference> 节点换成 <dubbo:annotation> 节点:
<!-- 扫描注解包路径,多个包用逗号分隔,不填pacakge表示扫描当前ApplicationContext中所有的类 --> <dubbo:annotation package="com.xxx" />
其中 package 表示要扫描的包,之后在需要注入的服务里加上注解 @Reference(version="1.0.0")
浙公网安备 33010602011771号