SpringCloud集成dubbo的使用。
1.生产者(服务提供者)操作。
(1)添加依赖(我这里的版本是2.2.3RELEASE)
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-dubbo</artifactId>
</dependency>
(2)提供统一业务api
public interface ProducerClient{
Product findByPid(Integer pid);
}
注意:相关实体类需要implements Serializable否则会报错。
(3)实现该api
@DubboService
public class ProducerClientImpl implements ProducerClient{
@Resource
private ProducerMapper producerMapper;
@override
public Product findByPid(Integer pid){
return producerMapper.findById(pid);
}
}
@DubboService 用来暴露服务,消费者才可以进行远程调用。
(4)远程调用需要dubbo协议,需要在配置文件中添加dubbo配置。
dubbo:
scan:
base-packages: com.fjh.dubbo # 开启包扫描(ProducerClientImpl所在的包,让@DubboService注解生效)
protocol:
name: dubbo # 服务协议
port: -1 # 服务端口 -1是不限制的意思
registry:
address: nacos://@nacos.addr@ # nacos注册中心的地址
2.消费者(服务调用方)操作
(1)添加依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-dubbo</artifactId>
</dependency>
(2)添加dubbo配置
dubbo:
registry:
address: nacos://@nacos.addr@ # nacos注册中心的地址
cloud:
subscribed-services: 'service-product,...' #服务提供方的服务名称(spring.application.name),需要调用多个服务用,隔开。
(3)使用@DubboReference即可进行远程调用
@DubboReference
private ProducerClient producerClient;
服务启动的时候要先启动生产者服务,否则需要提供相应配置。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现