本文介绍如何使用Spring Boot注解的方式基于Nacos开发一个Dubbo微服务示例应用。

配置Nacos

Nacos是阿里开源的配置中心:https://nacos.io/zh-cn/docs/what-is-nacos.html

1、下载最新版本的Nacos Server

2、启动Nacos Server

进入nacos/bin目录,启动Nacos Server。执行命令sh startup.sh -m standalone

创建服务提供者和消费者

直接使用阿里云开源的代码:使用Git来clone:git clone https://github.com/aliyun/alibabacloud-microservice-demo.git

该项目包含了众多了示例工程,本文对应的示例工程位于 alibabacloud-microservice-demo/microservice-doc-demo/dubbo-samples-spring-boot

服务提供者

找到工程spring-boot-dubbo-provider

服务接口定义:

package com.alibaba.edas.boot;

public interface EchoService {
    String echo(String name);
}

服务接口实现:

package com.alibaba.edas.boot;

import org.apache.dubbo.config.annotation.Service;

@Service(version = "1.0.0", group = "DUBBO")
public class EchoServiceImpl implements EchoService {

    @Override
    public String echo(String name) {
        return "hello" + name;

    }
}

application.properties的配置:

# Base packages to scan Dubbo Components (e.g @Service , @Reference)
dubbo.scan.basePackages=com.alibaba.edas.boot
dubbo.application.name=dubbo-provider-demo
dubbo.registry.address=nacos://127.0.0.1:8848    

服务消费者

找到工程spring-boot-dubbo-consumer,关注下

消费的接口定义:

package com.alibaba.edas.boot;

public interface EchoService {
    String echo(String name);
}

消费接口的使用:

package com.alibaba.edas.boot;

import org.apache.dubbo.config.annotation.Reference;

public class DemoConsumer {

    @Reference(check = false, version = "1.0.0", group = "DUBBO")
    private EchoService demoService;

    public void ping() {
        demoService.echo("ping");
    }
}

application.properties的配置

dubbo.application.name=dubbo-consumer-demo
dubbo.registry.address=nacos://127.0.0.1:8848      

查看Nacos控制台

访问http://127.0.0.1:8848/nacos/#/configurationManagement,在左侧导航栏中可以查看服务列表和订阅者列表

默认用户名和密码都是nacos

参考