【归纳总结】微服务之Dubbo使用及常用配置

本文详细介绍了如何将Provider注册到Registry,包括导入相关依赖、配置服务名称、指定注册中心位置、通信规则、暴露服务以及监控中心配置。同时,也阐述了Consumer如何订阅Registry,包括配置消费名称、指定注册中心、声明远程服务接口、包扫描以及监控中心和消费者统一规则的设置。

在这里插入图片描述

1️⃣ 将Provider注册到Registry

① 导入依赖

Ⅰ 导入dubbo依赖
        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo-spring-boot-starter</artifactId>
            <version>2.7.3</version>
        </dependency>
Ⅱ 导入zookeeper依赖
        <dependency>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
            <version>3.4.13</version>
        </dependency>
Ⅲ 导入curator(zookeeper底层依赖)
        <dependency>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-framework</artifactId>
            <version>2.10.0</version>
        </dependency>
        
        <dependency>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-recipes</artifactId>
            <version>2.10.0</version>
        </dependency>

② 配置

Ⅰ 指定当前服务的名字

同样的服务名字相同,不要和别的服务同名

<dobbo:application name="user-service-provider"/>
Ⅱ 指定注册中心的位置
<dubbo:registry address="zookeeper://127.0.0.1:2181"/>

或者:

<dubbo:registry protocol="zookeeper" address="127.0.0.1:2181"/>
Ⅲ 指定通信规则

通信协议通信端口

<dubbo:protocol name="dubbo" port="20880"/>
Ⅳ 暴露服务

暴露接口,用ref指向服务的真正实现

<dubbo:service interface="com.octavius.service.UserService" ref="usrServiceImpl"/>

<bean id="usrServiceImpl" class="com.octavius.service.UserServiceImpl"/>

也可以用@Service注解暴露(com.alibaba.duboo.config.annotation)
使用EnableDubbo注解开启使用注解的功能

Ⅴ 配置监控中心(可选)

有两种方式:

1. 从注册中心发现监控中心地址
<dubbo:monitor protocol="registry"/>
2. 直连监控中心服务地址
<dubbo:monitor address="127.0.0.1:7070"/>
Ⅵ 配置提供者的统一规则(可选)

见下面

2️⃣ Consumer去Registry订阅

① 导入依赖

同上

② 配置

Ⅰ 指定当前消费的名字
<dobbo:application name="order-service-consumer"/>
Ⅱ 指定注册中心的位置

同上

Ⅲ 声明需要调用的远程服务的接口

生成远程服务代理

用id属性取上名字,容器中就有这个代理组件了

<dubbo:reference interface="com.octavius.service.UserService" id=“userService”/>

其他属性设置见

子标签<dubbo:method/>可精确地对单个方法进行配置

也可以使用@Reference注解取代@Autowired引入组件

Ⅳ 包扫描
 <context:component-scan base-package="com.octavius"/>

表示扫描该包目录以及所有子包:寻找该包中所有可以实现组件注册功能的注解。

Ⅴ 配置监控中心(可选)

同上

Ⅵ 配置消费者的统一规则(可选)

即全局配置

该标签为<dubbo:reference>标签的缺省值设置

配置覆盖关系:

  1. 方法级优先,接口级次之,全局配置再次之(即精确优先
  2. 如果级别一样,消费者优先,提供方次之
1. 是否需要检查设置

设置标签属性check可以决定启动时是否要检查注册中心有Consumer需要调用放入接口

默认值为true

<dubbo:consumer check="false"/>
2. 超时设置

方法执行时间过长会立即终止,单位是毫秒

默认值是1000

<dubbo:consumer timeout="3000"/>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值