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


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

添加依赖:



    org.apache.dubbo
    dubbo-registry-redis
    2.7.8




    org.apache.dubbo
    dubbo-spring-boot-starter
    2.7.8

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");
    }
}

运行结果: