SpringBoot + Dobbo + nacos
一、nacos
-
https://nacos.io/zh-cn/docs/quick-start.html
1、下载安装包
- https://github.com/alibaba/nacos/releases/
- 下载后在主目录下,创建一个logs的文件夹:用来存日志
2、启动nacos
- 在bin目录下打开cmd
- 运行启动命令: startup.cmd -m standalone
- 这样即为运行成功
二、Dobbo
1、进入入门项目github
2、拉取代码
3、启动入门项目
-
- 因为这个示例代码是zookeeper的注册中心,我这配置的是nacos的注册中心
- 所以我们提取关键配置即可
5、dubbo整合nacos
- https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/registry/nacos/
5.1、在 提供者 和 调用者中 都添加依赖
-
把zookeeper的依赖删除换上以下依赖<dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo</artifactId><version>3.0.9</version> </dependency> <dependency><groupId>com.alibaba.nacos</groupId><artifactId>nacos-client</artifactId><version>2.1.0</version> </dependency>
5.2、两个项目里都配置以下信息
-
yml配置信息
-
#把zookeeper的配置信息改为以下这个registry:id: nacos-registryaddress: nacos://localhost:8848
-
-
启动dubbo
- 在启动类上添加注解: @EnableDubbo
-
两者上面都创建接口(这里的案例是用了一个公共接口)
/*** 示例服务**/public interface DemoService {String sayHello(String name);String sayHello2(String name);}
-
注意事项,接口所在的位置在,提供者和调用者的位置要一模一样
5.3、在提供者上实现接口
/*** 示例服务实现类**/@DubboServicepublic class DemoServiceImpl implements DemoService {@Overridepublic String sayHello(String name) {return "Hello " + name;}@Overridepublic String sayHello2(String name) {return name + "zzj";}}
5.4、在调用者上调用接口
@Componentpublic class Task implements CommandLineRunner {@DubboReferenceprivate DemoService demoService;@Overridepublic void run(String... args) {String result1 = demoService.sayHello("world");String result2 = demoService.sayHello2("hello");System.out.println("Receive result1 ======> " + result1);System.out.println("Receive result2 ======> " + result2);}}
6、结果
- 在调用者的控制台能看到输出的信息
- 查看nacos里的注册信息也是注册上了