nacos集成dubbo实现远程服务调用

文章目录

            • 1. 模块划分设计
            • 2. 创建父工程
            • 3. 创建公共接口
            • 4. 服务端
            • 5. 客户端
            • 6. nacos
            • 7. 测试
            • 8. 码云开源地址

1. 模块划分设计
模块名工程名端口
父工程nacos-dubbo
服务端nacos-dubbo-provider9000
消费端nacos-dubbo-consumer8000
公共接口nacos-dubbo-interface
2. 创建父工程

nacos-dubbo

<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.3.2.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><modules><module>nacos-dubbo-interface</module><module>nacos-dubbo-provider</module><module>nacos-dubbo-consumer</module></modules><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version></properties><dependencies><!--服务注册发现--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-dubbo</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency></dependencies><dependencyManagement><dependencies><!--spring-cloud-alibaba 版本控制--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>2.2.6.RELEASE</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement>
3. 创建公共接口
package com.cloud.alibaba.dubbo.service;public interface DubboService {String hello(String name);
}
4. 服务端
package com.cloud.alibaba.dubbo.service.impl;import com.cloud.alibaba.dubbo.service.DubboService;/*** dubbo 服务端*/
@org.apache.dubbo.config.annotation.DubboService
public class DubboServiceImpl implements DubboService {@Overridepublic String hello(String name) {return "hello " + name;}
}
package com.cloud.alibaba.dubbo;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;@SpringBootApplication
@EnableDiscoveryClient
public class ProviderApplication {public static void main(String[] args) {SpringApplication.run(ProviderApplication.class);}
}
server:port: 9000
spring:application:name: nacos-dubbo-providercloud:nacos:discovery:server-addr: http://localhost:8848config:server-addr: http://localhost:8848file-extension: yaml
# Dubbo服务配置
dubbo:scan:base-packages: com.cloud.alibaba.dubbo.service.implprotocol:name: dubboport: -1registry:address: spring-cloud://localhost
   <dependency><groupId>com.gblfy</groupId><artifactId>nacos-dubbo-interface</artifactId><version>1.0-SNAPSHOT</version></dependency>
5. 客户端
package com.cloud.alibaba.dubbo.controller;import com.cloud.alibaba.dubbo.service.DubboService;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class DubboController {@DubboReferenceprivate DubboService dubboService ;@GetMapping("/hello")public String hello (String name) {return dubboService.hello(name) ;}
}
package com.cloud.alibaba.dubbo;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;@SpringBootApplication
@EnableDiscoveryClient
public class ConsumerApplication {public static void main(String[] args) {SpringApplication.run(ConsumerApplication.class);}
}
server:port: 8000
spring:application:name: nacos-dubbo-clientcloud:nacos:discovery:server-addr: http://localhost:8848config:server-addr: http://localhost:8848
# Dubbo服务配置
dubbo:protocol:name: dubboport: -1registry:address: spring-cloud://localhostcloud:subscribed-services: nacos-dubbo-provider
   <dependency><groupId>com.gblfy</groupId><artifactId>nacos-dubbo-interface</artifactId><version>1.0-SNAPSHOT</version></dependency>
6. nacos

在这里插入图片描述

7. 测试

请求地址

http://localhost:8000/hello?name=gblfy
8. 码云开源地址

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

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

相关文章

如何在容器内高效编程?

作者 | Daniel Lemire译者 | 苏本如&#xff0c;责编 | 郭芮头图 | CSDN 下载自东方IC出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09;以下为译文&#xff1a;我个人的编程环境中包括了一些服务器、笔记本电脑和台式电脑。我的服务器是在不同的时间购买和配置的&am…

蚂蚁金服OceanBase挑战TPCC | TPC-C基准测试之存储优化

蚂蚁金服自研数据库 OceanBase 登顶 TPC-C 引起业内广泛关注&#xff0c;为了更清楚的展示其中的技术细节&#xff0c;我们特意邀请 OceanBase 核心研发人员对本次测试进行技术解读&#xff0c;共包括五篇&#xff1a; 1&#xff09;TPC-C基准测试介绍 2&#xff09;OceanBase…

(企业案例)Nacos Config 进阶使用

文章目录一、SpringBoot 使用 Nacos Config 实现多环境切换1. 现象2. 引入依赖3. 添加bootstrap.yaml配置文件4. 配置对应关系图5. 文件格式简述6. 启动nacos7. 添加生产配置8. 添加测试controller9. 启动Springboot工程并观察到如下日志则为成功10. 浏览器验证11. 调整激活环境…

OceanBase如何获得TPC-C测试第1名?

阿里妹导读&#xff1a;TPC-C是TPC组织&#xff08;国际事务性能委员会&#xff09;制定的关于商品销售的订单创建和订单支付等的基准测试标准&#xff0c;是数据库联机交易处理系统的权威基准测试标准。 蚂蚁金服自研的分布式关系数据库OceanBase获得TPC-C测试第一名后&#…

简单查询(DQL)

简单查询&#xff08;DQL&#xff09; 1. 查询一个字段&#xff1f; ​ select 字段名 form 表名; ​ 其中要注意&#xff1a; ​ select 和 form 都是关键字 ​ 字段名和表名都是标识符 强调&#xff1a; 所有SQL语句都是“&#xff1b;”结尾 2.查询两个字段&#xf…

由一次磁盘告警引发的“血案”——你知道 du 和 ls 区别吗?

来源 | 程序猿石头责编 | Carol封图 | CSDN下载自视觉中国图来源于 SkyPixel知道为什么会有上面的结果吗&#xff1f;什么又是稀疏文件&#xff1f;这篇文章将为你揭秘。问题背景确切地说&#xff0c;不是收到的自动告警短信或者邮件告诉我某机器上的磁盘满了&#xff0c;而是某…

如何优化大规模推荐?下一代算法技术JTM来了

阿里妹导读&#xff1a;搜索&#xff0c;推荐和广告是互联网内容提供商进行价值创造的核心业务&#xff0c;在阿里巴巴的电子商务交易平台上&#xff0c;搜索&#xff0c;推荐和广告业务同样具有举足轻重的意义和价值。现在&#xff0c;阿里推荐技术又双叒优化了&#xff0c;新…

Sentinel 基于Nacos规则持久化-推模式

文章目录一、推模式架构图二、原理简述2.1. 组件版本关系2.2. 控制台推送规则三、Sentinel控制台改造3.1. 下载源码3.2. 修改pom3.3. 重要文件复制3.4. 注册地址修改3.5. 请求实例需改3.6. 菜单新增四、编译 & 启动4.1. 先启动nacos4.2. 编译打包4.3. 创建微服务 &&…

都听我的,会养猪种菜的工程师最帅了!

来了&#xff01;今天&#xff0c;阿里数字农业事业部在黑龙江首次亮相&#xff0c;并且定了一个小目标&#xff1a;到2022年&#xff0c;阿里涉农产品全年网络销售额破4000亿元。 黑龙江省牡丹江市的阿里巴巴响水大米种植基地&#xff0c;又到了收割季 数字农业事业部将建立产…

清华硕士一针见血:这些才是机器学习必备的数学基础

现如今&#xff0c;计算机科学、人工智能、数据科学已成为技术发展的主要推动力。无论是要翻阅这些领域的文章&#xff0c;还是要参与相关任务&#xff0c;你马上就会遇到一些拦路虎&#xff1a;想过滤垃圾邮件&#xff0c;不具备概率论中的贝叶斯思维恐怕不行&#xff1b;想试…

排序数据.

排序 1、查询所有员工工资&#xff0c;排序&#xff1f; ​ select ​ ename,sal ​ from ​ emp ​ order by ​ sal;//默认是升序&#xff01;&#xff01;&#xff01; 2. 怎么降序&#xff1f;、 ​ 指定降序&#xff1a; ​ select ​ ename,sal ​ from ​ …

前端传递多个数组以及其他参数,springboot后台如何接收

前端传递多个数组以及其他参数&#xff0c;springboot后台如何接收 前端传递参数ajax代码 var arr1["1","2","3"];var arr2["aa","bb","cc"];var id 1;$.ajax({type: "post",//注意不能用getdataType:…

Java 编程技巧之数据结构

导读 唐宋八大家之一欧阳修在《卖油翁》中写道&#xff1a; 翁取一葫芦置于地&#xff0c;以钱覆其口&#xff0c;徐以杓酌油沥之&#xff0c;自钱孔入&#xff0c;而钱不湿。因曰&#xff1a;“我亦无他&#xff0c;唯手熟尔。” 编写代码的"老司机"也是如此&#…

如何查看使用 Cloud Toolkit 部署应用的实时日志

之前&#xff0c;我们介绍了《在 IntelliJ IDEA 中部署应用到服务器》。最新版本 Cloud Toolkit 新增了对远程服务器应用部署时&#xff0c;实时日志的查看功能。功能预览如下&#xff1a; 打开应用部署的配置界面&#xff0c;如上图所示&#xff0c;点击「Advanced」标签页&am…

这 10 个云计算错误,会让你的业务一蹶不振!

作者 | John Edwards译者 | 火火酱&#xff0c;责编 | Carol出品 | CSDN 云计算&#xff08;CSDNcloud&#xff09;封图 | CSDN 付费下载自视觉中国乐观主义者们总爱说&#xff1a;“乌云总是镶着金边的”&#xff0c;但他们没有说的是&#xff0c;在乌云下常有狂风、暴雨、闪电…

MySQL 8.0.26 简易配置安装教程 (windows 64位)

文章目录一、软件下载解压1. 官网下载2.下载完成后解压二、mysql配置2.1. my.ini2.2. 初始化MySQL2.3. 安装MySQL服务2.4. mysql已经安装过了2.5. 启动MySQL的服务三、密码修改3.1. 登录mysql3.2. 修改密码3.3. 退出mysql四、客户端连接mysql4.1. Navicat4.2. 登录mysql4.3. 操…

类与字节码技术

类文件结构 1.1 魔数 0-3字节&#xff0c;表示它是否是【class】类型的文件 ​ |java| 0000000 ca fe ba be 00 00 00 34 00 23 0a 00 06 00 15 09 1.2 版本 4-7字节&#xff0c;表示类的版本00 34 &#xff08;52&#xff09; 表示是Java8 0000000 ca fe ba be 00 00 00…

支付宝 App 是如何建设移动 DevOps 的?

本文系InfoQ对蚂蚁金服技术专家洪锋的采访&#xff0c;洪锋老师即将在 QCon 上海站 2019 分享《移动研发 DevOps 在支付宝 App 内的落地实践》&#xff0c;欢迎关注。 微软 MSDN 上的一篇文章有这样一段话&#xff1a;“移动应用的理想环境需要满足两个条件&#xff0c;一是可以…

淘宝端智能演进和思考

今天分享内容包括三部分&#xff0c;第一是端智能整体趋势和淘宝应用现状&#xff0c;第二是淘宝在应用端智能过程中面临的问题和挑战&#xff0c;以及我们的应对和解决思路&#xff0c;我们构建了端到端的完整技术体系&#xff0c;第三是开源推理引擎 MNN 的最新情况。 01、端…

如何取SQL结果集的第一条记录

在SQL Server数据库中&#xff0c;使用top关键字&#xff1a;SELECT TOP number|percent column_name(s) FROM table_name 在MySQL数据库中&#xff0c;使用LIMIT关键字&#xff1a;SELECT column_name(s) FROM table_name LIMIT number例子:SELECT * FROM Persons LIMIT 1 在O…