spring boot+dubbo 使用redis作为注册中心

个人理解,如有错误,烦请指正!

添加依赖:

<!-- dubbo redis 依赖-->
<dependency>
    <groupId>org.apache.dubbo</groupId>
    <artifactId>dubbo-registry-redis</artifactId>
    <version>2.7.8</version>
</dependency>

<!-- dubbo 依赖-->
<dependency>
    <groupId>org.apache.dubbo</groupId>
    <artifactId>dubbo-spring-boot-starter</artifactId>
    <version>2.7.8</version>
</dependency>

1、服务端

编写接口:

public interface DemoService {
    public abstract void test(String arg);
}

相关配置:

## dubbo 配置
dubbo:
  application:
    name: server
    id: server
    version: 1.0.0
  protocol:
    id: dubbo
    name: dubbo
    port: 20880
  registry:
    id: dubbo-resis
    address: redis://127.0.0.1:6379    
  ##服务扫描位置
  scan:
    base-packages: com.demo.dubbo

实现接口:

@DubboService(version = "${dubbo.application.version}",
        application = "${dubbo.application.id}",
        protocol = "${dubbo.protocol.id}",
        registry = "${dubbo.registry.id}")
public class DemoServiceImpl implements DemoService {
    @Override
    public void test(String arg) {
        System.out.println(arg);
    }
}

2、调用端

相关配置:

dubbo:
  application:
    name: comsuer
    id: comsuer
    version: 1.0.0
  protocol:
    id: dubbo
    name: dubbo
    port: 20880
  registry:
    id: dubbo-redis
    address: redis://127.0.0.1:6379

调用代码:

@Component
public class DemoConsumer {
    @DubboReference(version = "${dubbo.application.version}",
            application = "${dubbo.application.id}",
            registry = "${dubbo.registry.address}")
    private DemoService demoService;

    @Scheduled(fixedRate = 10000)
    public void consumer() {
       demoService.test("demo consumer");
    }
}

运行结果:

posted @ 2020-12-14 12:42  liba2022  阅读(744)  评论(0)    收藏  举报