1.前言
这是一个基于SpringBoot整合Apache Dubbo+Nacos的极简教程,笔者使用到的技术及版本如下:
SpringBoot 2.4.5
Dubbo 2.7.11
Nacos 2.0.1(自行安装)
Dubbo官网:dubbo.apache.org/zh/
Nacos官网:nacos.io/zh-cn/docs/…
2.目录结构
dubbo-client:生产者消费者共有接口
dubbo-consumer:消费者
dubbo-provider:生产者
3.配置文件
pom核心依赖
1 | xml复制代码<dependency> |
pom配置文件全文
1 | xml复制代码<?xml version="1.0" encoding="UTF-8"?> |
注释:需要去除spring-context-support依赖,否则运行不起来,但是去除后消费者会报错却不影响使用。
4.接口模块
定义一个消费者和生产者共同拥有的接口子模块。
1 | java复制代码package xyz.hcworld.service; |
5.生产者模块
pom核心依赖
依赖加入接口模块。
1 | xml复制代码<dependencies> |
yml配置文件
1 | yaml复制代码# 设置nacos的地址(配置中心) |
类
新版Dubbo将 @Service标注为过时,所以最新的注解应当使用 @DubboService ,如果使用 @Service容易与Spring的 @Service搞混。
1 | java复制代码package xyz.hcworld.service.impl; |
6.消费者模块
pom文件与同生产者模块一致,yml文件修改name其余也与生产者模块一致。
1 | yml复制代码dubbo: |
类
生产者消费者的接口名与接口版本必须一致。使用@DubboReference注入远程接口。
1 | java复制代码package xyz.hcworld.controller; |
7.结果
生产者启动结果
消费者启动结果在这里插入图片描述
注释:报错是因为去除了com.alibaba.spring下的spring-context-support,但并不影响使用,不去除将无法启动,这是因为Dubbo不兼容太新的SpringBoot版本导致。
浏览器请求结果
Nacos可视化
8.项目下载地址
GitHub:github.com/z875479694h…
笔者联系方式
公众号:青山有录
Blog:www.hcworld.xyz
Github:github.com/z875479694h
本文转载自: 掘金