应用场景
现在在一家做app的互联网公司搬砖,日活在百万级别。rpc框架使用了dubbo,由于之前的公司是用的springcloud,所以对dubbo不熟。当进行dubbo服务开发时,总是需要部署到测试环境才能自测(我们测试环境只能由测试部署,所以。。。。)。最近比较闲,开始了解一下dubbo。发现dubbo给开发人员进行本地提供了很好的支持。废话说够了,下面开始。
dubbo文档
dubbo服务自测是基于 点对点直连 和 仅订阅 实现的。dubbo示例传送。
实现
代码基于学习项目。不涉及任何公司业务。有很多种实现方法。我这里使用的是注解的形式。具体实现根据公司的开发习惯来选择。
提供服务端
配置:dubbo.registry.register=false
这个配置是不将服务注册到注册中心,只订阅。提供服务端只需要加这一个配置就可以了。
代码:
@Service
@Component // 为了和上面的service区别开,用component代替了org.springframework.stereotype.Service
public class DubboTestServiceImpl implements DubboTestService {
@Override
public int insert() {
return 1;
}
}
消费端
@Service// 这里的service是org.springframework.stereotype.Service
public class DubboConsumerTestServiceImpl implements DubboConsumerTestService {
// 这里可以用id,或者使用 interfaceClass = com.***.provider.service.DubboTestService.class
@Reference(check = false, id = "dubboTestService", url = "dubbo://localhost:20880")
private DubboTestService dubboTestService;
@Override
public int insert() {
return dubboTestService.insert();
}
}
知识点回顾