1. 程式人生 > 實用技巧 >spring boot+dubbo 使用redis作為註冊中心

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 = 3000)
    public void consume() {
       demoService.test("demo consumer");
    }
}

執行結果: