Dubbo

dubbo环境搭建
1.安装zookeeper
我这边建的是springboot工程
在这里插入图片描述
在这里插入图片描述
用它当父模块
添加依赖

  <dependency>
            <groupId>com.alibaba.boot</groupId>
            <artifactId>dubbo-spring-boot-starter</artifactId>
            <version>0.2.0</version>
        </dependency>

创建maven工程,common模块
在这里插入图片描述
在这里插入图片描述
创建一个maven工程,服务提供者
dubbo_provider
dubbo_provider依赖common

      <dependency>
            <groupId>com.Zh</groupId>
            <artifactId>common</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>

在这里插入图片描述
创建配置文件
application.properties

dubbo.application.name=service-provide
dubbo.registry.address=192.168.200.134:2181
#集群
#dubbo.registry.address=zookeeper://192.168.200.130:2191?backup=192.168.200.130:2192,192.168.200.130:2193
#注册中心
dubbo.registry.protocol=zookeeper
#协议
dubbo.protocol.name=dubbo
#协议端口号
dubbo.protocol.port=20881

创建启动类
在这里插入图片描述
在这里插入图片描述

创建dubbo_consumer子模块:消费者模块(调用生产者模块)
依赖

<dependency>
            <groupId>com.Zh</groupId>
            <artifactId>common</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
总结:两个注解,两个配置,启动一个注解
服务提供者:com.alibaba.dubbo.config.annotation.Service
注册中心的Ip 地址
服务消费者:com.alibaba.dubbo.config.annotation.Reference
注册中心的Ip 地址
启动类:com.alibaba.dubbo.config.spring.context.annotation.EnableDubbo

			找不到服务提供者:
				1.	看注解使用的是哪个包!
				2.	看注册中心地址是否正确,以及防火墙是关闭!建议 :linux ,本地防火墙都关闭!
				3.	重启服务提供者{进入到注册中心,rmr 删除服务提供者的节点!}

dubbo配置

1、重试次数
失败自动切换,当出现失败,重试其它服务器,但重试会带来更长延迟。可通过 retries=“2”{默认} 来设置重试次数(不含第一次)。
1、在调用端,Reference注解添加属性 retries,设置重试次数,如果不设置默认重试两次
@RestController
@RequestMapping("/user")
public class UserController {

@Reference(retries = 4)
private UserService userService;

@GetMapping("{name}")
public String getData(@PathVariable String name) {
    String value = userService.sayHello(name);
    return value;
}

}

2、在服务端通过Thread.sleep来实现测试效果
在这里插入图片描述

2、版本号
当一个接口实现,出现不兼容升级时,可以用版本号过渡,版本号不同的服务相互间不引用。
可以按照以下的步骤进行版本迁移:
1、提供者添加版本配置:
@Service(version = “1.0.1”)
public class UserServiceImpl implements UserService {

2、消费者调用配置:
@Reference(version = “1.0.1”)
private UserService userService;

3、如果不需要区分版本,可以按照以下的方式配置:
@Reference(version = “*”)
private UserService userService;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CV工程湿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值