本文介绍如何使用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