spring-cloud-dubbo基本使用

news2024/12/22 17:18:53

创建模块
api模块使用mave quick-start 构建:
在这里插入图片描述

,provider模块使用 下面方式创建:在这里插入图片描述
在这里插入图片描述
点击下一步,会看到一些基于阿里的cloud的依赖:

在这里插入图片描述
上面这个是基于阿里云的,下面的Spring Cloud Alibaba是开源的组件依赖:
在这里插入图片描述
这里都不选择,直接next, 后续手动集成,注意,上面spirngboot版本是2.3.7

接下来再使用spring initializr 创建一个consumer模块:
在这里插入图片描述
在这里插入图片描述

consuemr模块调用provider模块,api模块是两个模块公共的依赖,并将子模块中的dependencyManagement 和 properties挪到父pom中:

  <properties>
    <java.version>1.8</java.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <spring-boot.version>2.3.7.RELEASE</spring-boot.version>
  </properties>
  <!-- 依赖管理从子模块删除,放到父pom中-->
  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-dependencies</artifactId>
        <version>${spring-boot.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>

子模块里面的 .mvn mvnw mvww.cmd都删除
在这里插入图片描述
然后在三个子模块中指定父pom:

  <parent>
        <groupId>com.lchtest.springcloud.dubbo</groupId>
        <artifactId>spring-cloud-dubbo-example</artifactId>
        <version>1.0-SNAPSHOT</version>
    </parent>

API模块定义接口,并install到本地:
在这里插入图片描述
服务提供端和消费端引入api依赖,dubbo依赖,nacos注册中心的依赖:

  <!-- api模块的依赖-->
        <dependency>
            <groupId>com.lchtest.springcloud.dubbo</groupId>
            <artifactId>spring-cloud-dubbo-sample-api</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>

        <!-- cloud dubbo依赖-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-dubbo</artifactId>
            <version>2.2.1.RELEASE</version>
        </dependency>

        <!-- 注册中心依赖,cloud生态下,注册中心必须要引入,
        配合spring-cloud-starter-dubbo,才具备dubbo服务发现的能力以及基于nacos的服务注册的能力-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
            <version>2.2.1.RELEASE</version>
        </dependency>

然后编写服务提供端代码,实现api模块定义的接口,并使用dubbo的@Service注解来发布一个dubbo服务
在这里插入图片描述
然后启动本地nacos服务(nacos需要单独部署,这里使用windows单机版本的nacos服务)
在这里插入图片描述
服务提供者端 dubbo服务发布配置和注册中心配置:

# 应用名称
spring.application.name=spring-cloud-dubbo-sample-provider
# dubbo扫描包
dubbo.scan.base-packages=com.lchtest.springcloud.dubbo.springclouddubbosampleprovider.services
# dubbo发布服务的端口号
dubbo.protocol.port=20880
# dubbo发布服务使用的协议
dubbo.protocol.name=dubbo
# 注册中心地址 dubbo服务发布到这个地址上
spring.cloud.nacos.discovery.server-addr=http://192.168.61.1:8848
# Dubbo 消费端订阅服务端的应用名,多个服务提供者用逗号分隔
dubbo.cloud.subscribed-services=spring-cloud-dubbo-sample-consumer

启动类上开启注册中心:
在这里插入图片描述
服务消费端:
pom再增加一个web依赖

       <!-- 添加web依赖,能够发送rest请求-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

服务消费端注册中心配置:

# 应用名称
spring.application.name=spring-cloud-dubbo-sample-consumer
server.port=8080
# 注册中心地址 dubbo服务发布到这个地址上
spring.cloud.nacos.discovery.server-addr=http://192.168.61.1:8848

消费端代码,这里是要通过dubbo来产生一个provider端提供的服务的接口代理:
在这里插入图片描述
启动消费端并调用接口,可以看到它调用dubbo service获得了provider端返回的数据:
在这里插入图片描述
注册中心实例如下:
在这里插入图片描述
打上断点再次调用say接口,可以看到helloService就是一个代理对象:
在这里插入图片描述

本文代码: https://download.csdn.net/download/weixin_41300437/87139618

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/31096.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

torch.as_tensor()、torch.Tensor() 、 torch.tensor() 、transforms.ToTensor()的区别

1&#xff09;torch.as_tensor(data, dtypeNone,deviceNone)->Tensor : 为data生成tensor&#xff0c;保留 autograd 历史记录并尽量避免复制&#xff08;dtype和devices相同&#xff0c;尽量浅拷贝&#xff09;。 如果data已经是tensor&#xff0c;且dtype和device与参数相…

基于复杂环境下的雷达目标检测技术(Matlab代码实现)

&#x1f352;&#x1f352;&#x1f352;欢迎关注&#x1f308;&#x1f308;&#x1f308; &#x1f4dd;个人主页&#xff1a;我爱Matlab &#x1f44d;点赞➕评论➕收藏 养成习惯&#xff08;一键三连&#xff09;&#x1f33b;&#x1f33b;&#x1f33b; &#x1f34c;希…

轻量级模型设计与部署总结

前言一些关键字定义及理解 计算量 FLOPs内存访问代价 MACGPU 内存带宽Latency and Throughput英伟达 GPU 架构 CNN 架构的理解手动设计高效 CNN 架构建议 一些结论&#xff1a; 一些建议轻量级网络模型部署总结轻量级网络论文解析文章 参考资料 文章同步发于 github 仓库 和 知…

论文阅读11——《Mutual Boost Network for Attributed Graph Clustering》

原文地址&#xff1a; 论文阅读11——《Mutual Boost Network for Attributed Graph Clustering》 作者&#xff1a;Xiaoqiang Yan, Xiangyu Yu, Shizhe Hu, Yangdong Ye 发表时间&#xff1a;预印本 论文地址&#xff1a;https://papers.ssrn.com/sol3/papers.cfm?abstract_i…

Camtasia Studio2023喀秋莎免费实用的屏幕录像工具

CamtasiaStudio2023是一款非常不错的软件。总的来说CamtasiaStudio的功能从专业度来说&#xff0c;分别有&#xff1a;录制桌面&#xff0c;录制视频教程&#xff0c;录制音频&#xff1b;剪截视频&#xff0c;拼接合成视频&#xff0c;制作小视频Camtasia Studio是TechSmith的…

web网页设计期末课程大作业:环境保护主题网站设计——农业三级带表单带js(14页)HTML+CSS+JavaScript

&#x1f380; 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业…

自顶向下计算机网络学习 传输层

自顶向下计算机网络学习 传输层一、概述和传输层服务1.1 传输层提供的服务1.2传输层和网络层的关系1.3 传输层协议可靠的、保序的传输&#xff1a;TCP不可靠、不保序的传输&#xff1a;UDP二、多路复用与解复用2.1 什么是复用与解复用2.2 面向连接(TCP)的多路复用与分解2.3 无连…

Verilog 实现无毛刺时钟切换电路,RTL代码设计+testbench代码测试,波形前仿真

Verilog 实现无毛刺时钟切换电路 1,原理2,无毛刺时钟切换3,RTL代码设计4,testbench测试代码5,RTL+testbench综合的 Netlist6,前仿真波形验证参考文献1 1,原理 想要切换时钟电路,最简单的方法肯定是使用一个MUX,control作为控制信号; control = 1, clk_output = clk_…

JVM 双亲委派模型

一言以蔽之&#xff0c;向上委托&#xff0c;向下委派。 向上委托&#xff1a;如果一个类加载器收到了类加载请求&#xff0c;它并不会自己先去加载&#xff0c;而是把这个请求委托给父类的加载器去执行&#xff0c;如果父类加载器还存在其父类加载器&#xff0c;则进一步向上…

家居建材如何在线管理订单?数商云采购系统实现订单发收货、退换货流程化管控

新时代的流程化业务&#xff0c;利用信息互通的时效性&#xff0c;提高员工执行力&#xff0c;提升市场竞争力&#xff0c;在悄无声息地促进企业发展。订单管理作为企业客户关系管理的有效延伸&#xff0c;能更好的把个性化、差异化服务有机的融入到客户管理中去&#xff0c;能…

220kV降压变电所电气部分初步设计33号

目录 1 绪论 5 &#xff11;.&#xff11; 概述 5 &#xff11;.&#xff12; 本次设计内容 5 &#xff11;.&#xff13; 本次设计任务 5 2 变电站总体分析 6 2.&#xff11;变电所总体分析 6 2.2主变压器选择 7 3 电气主接线选择 10 3.1 电气主接线的概念 10 3.2 电气主接…

Linux —— 进程控制

1.进程控制的四个概念 进程控制分为四类&#xff0c;分别是&#xff1a; 进程创建进程终止进程等待进程替换 2.进程创建 2.1初识fork fork的作用是通过拷贝当前进程创建一个子进程&#xff0c;这两个进程的区别在于PID不同(还有一些资源、统计量也不同&#xff0c;但PID是我…

E. Split Into Two Sets(染色法判断二分图)

Problem - 1702E - Codeforces 波利卡普最近得到了一组n&#xff08;数字n-偶数&#xff09;的骨牌。每块多米诺骨牌包含1到n的两个整数。 他能把所有的骨牌分成两组&#xff0c;使每组骨牌上的数字都不一样吗&#xff1f;每张多米诺骨牌必须正好进入两组中的一组。 例如&…

7种主流数据分析软件比较及经典教材推荐

前言 STATA 软件优点&#xff1a;Stata以其简单易懂和功能强大受到初学者和高级用户的普遍欢迎。使用时可以每次只输入一个命令&#xff0c;也可以通过一个Stata程序一次输入多个命令。这样的话即使发生错误&#xff0c;也较容易找出并加以修改。尽管Stata的数据管理能力没有…

智慧点餐系统源码 扫码点餐小程序源码

&#x1f353;&#x1f353;文末获取联系&#x1f353;&#x1f353; JAVAUniappMySQLWinForm 系统功能介绍 1、单/多门店自由切换&#xff1b; 2、扫码&#xff08;桌号&#xff09;点餐&#xff1b; 3、多规格商品&#xff1b; 4、手动/自动接单&#xff1b; 5、自助&am…

MyBatis-Plus标准数据层开发

1. 标准CRUD使用 对于标准的CRUD功能都有哪些以及MP都提供了哪些方法可以使用呢&#xff1f; 我们先来看张表&#xff1a; 功能自定义接口MP接口新增boolean save(T t)int insert(T t)删除boolean delete(int id)int deleteById(Serializeble id)修改boolean update(T t)int…

系统分析与设计 复习

文章目录系统分析与设计 复习第 1 章 系统分析与设计概述系统特性DevOps第 2 章 系统规划**系统规划步骤**规划模型诺兰模型**CMM 模型**系统规划方法战略集合转换法 SST关键成功因素法 CSF企业资源规划法 BSPCSB 三者联系和区别第 3 章系统分析系统分析概述业务流程图系统流程…

【微电网优化】萤火虫算法求解微电网优化问题【含Matlab源码 2146期】

⛄一、萤火虫算法求解微电网经济优化问题简介 利用迭代搜索法、剔除劣势策略法、逆推归纳法和最大最小优化方法[7,8,9]等均可实现博弈均衡点的求解。但当维数较大时, 这些方法可能存在搜索速度、路径和精度上的问题。萤火虫优化算法[10]由于其原理简单、参数少、易于实现、具有…

Maven中依赖无法导入的终极解决方案

maven依赖无法引入的问题解决 修改maven配置 添加阿里云的设置 阿里云云效maven官方配置指南 创建自己的maven库 jdk的导入设置 阿里云仓库官网 仓库服务 (aliyun.com) jar包下载所在位置 在命令终端进行jar包的引入 mvn install:install-file -Dfilejar包所在路径…

【SQLite】二、SQLite 和 HeidiSQL 的安装

作者主页&#xff1a;Designer 小郑 作者简介&#xff1a;浙江某公司软件工程师&#xff0c;负责开发管理公司OA、CRM业务系统&#xff0c;全栈领域优质创作者&#xff0c;CSDN学院、蓝桥云课认证讲师&#xff0c;开发过20余个前后端分离实战项目&#xff0c;主要发展方向为Vue…