目标:Dubbo使用Nacos实现注册中心
工具:IDEA–2020.1、Nacos
学习目标:学习如何使用Nacos作为Dubbo服务的注册中心
本次学习的工程下载链接放到文本最后面
- 首先创建一个普通的Maven工程(构建父子模块使用)dubbo-nacos-sample,添加两个模块:nacos-sample-api(普通的maven工程)、nacos-sample-provider(springboot工程)。
- 在nacos中声明接口:
package com.xmaven; public interface IHelloService { String sayHello(String name); }
-
在nacos-sample-provider中添加依赖(所有依赖如下):
<dependencies> <!--直接引用api--> <dependency> <groupId>com.xmaven</groupId> <artifactId>nacos-sample-api</artifactId> <version>1.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> <exclusions> <exclusion> <groupId>org.junit.vintage</groupId> <artifactId>junit-vintage-engine</artifactId> </exclusion> </exclusions> </dependency> <!--阿里的dubbo发现服务依赖--> <dependency> <groupId>com.alibaba.boot</groupId> <artifactId>nacos-discovery-spring-boot-starter</artifactId> <version>0.2.4</version> <exclusions> <exclusion> <groupId>com.alibaba.spring</groupId> <artifactId>spring-context-support</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.dubbo</groupId> <artifactId>dubbo-spring-boot-starter</artifactId> <version>2.7.5</version> </dependency> </dependencies>
-
创建HelloServiceImpl类(nacos-sample-provider工程中),实现我们IHelloService接口:
package com.xmaven; import org.apache.dubbo.config.annotation.Service; @Service public class HelloServiceImpl implements IHelloService { @Override public String sayHello(String name) { return "Hello World:"+name; } }
-
修改application.properties配置(nacos-sample-provider工程中)。配置如下:
dubbo.application.name=spring-boot-dubbo-nacos-sample
dubbo.registry.address=nacos://127.0.0.1:8848
dubbo.protocol.name=dubbo
dubbo.protocol.port=20880
- 运行SpringBoot启动类(nacos-sample-provider工程中),注意声明DubboComponentScan:
package com.xmaven;
importorg.apache.dubbo.config.spring.context.annotation.DubboComponentScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@DubboComponentScan
@SpringBootApplication
public class NacosSampleProviderApplication {
public static void main(String[] args) {
SpringApplication.run(NacosSampleProviderApplication.class, args);
}
}
服务启动成功之后,访问Nacos控制台,进入"服务管理"————>“服务列表”,如下图所示:
我们可以看见所有注册在Nacos上面的服务。
如果在"操作"列点击"详情",我们可以看到IHelloService下所有的服务提供者的实例元数据如下:
评论区