当前位置: 首页 > article >正文

springcloud alibaba系列:整合springcloud alibaba+nacos+dubbo

springcloud alibaba系列整合springcloud alibabanacosdubbo1 引2 相关文章推荐3 环境准备3.1 nacos-server3.2 服务依赖3.3 服务说明3.4 micro-service-api3.5 micro-service-b依赖配置dubbo provider3.6 micro-service-b23.7 micro-service-a依赖配置web接口测试1 引Spring Cloud Alibaba 是由阿里巴巴开发的一套微服务一站式解决方案。它基于 Spring Cloud规范可以让你用简单的方式快速搭建起功能强大的分布式应用系统。它的诞生主要是为了给当时进入维护模式的 Spring Cloud Netflix 提供一个更强大、更全面的第二代实现方案。近期准备好好沉淀一下springcloud和springcloud alibaba相关的知识博客写了这么多年输出一直挺零散的基本都是记录的自己项目中遇到的一些坑或是备忘的总结或知识点。2 相关文章推荐涉及到的一些环境准备工作或者是系列前序知识就放到这里好了。开发环境搭建、开发工具安装示例集合docker容器初始化命令集合3 环境准备3.1 nacos-servernacos是springcloud alibaba推荐使用的注册中心和配置中心比eureka功能更强大且后者已经停止更新了。相关的安装文档可移步docker容器初始化命令集合快速安装一个做个人测试。3.2 服务依赖以下为根pom配置springcloud alibaba选用的是2023.0.1.0版本对应的jdk需要17以上springboot版本为3.3.2propertiesjava.version17/java.versionmaven.compiler.source17/maven.compiler.sourcemaven.compiler.target17/maven.compiler.targetproject.build.sourceEncodingUTF-8/project.build.sourceEncodingspring-cloud.version2023.0.3/spring-cloud.versionspring-cloud-alibaba.version2023.0.1.0/spring-cloud-alibaba.versionspring-cloud-alibaba-dubbo.version3.2.0/spring-cloud-alibaba-dubbo.versionspring-boot.version3.3.2/spring-boot.versionroswu.version1.0.1-SNAPSHOT/roswu.version/propertiesdependencyManagementdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-dependencies/artifactIdversion${spring-boot.version}/versiontypepom/typescopeimport/scope/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactIdversion${spring-boot.version}/version/dependency!-- 2. Spring Cloud --dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-dependencies/artifactIdversion${spring-cloud.version}/versiontypepom/typescopeimport/scope/dependency!-- 3. Spring Cloud Alibaba --dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-alibaba-dependencies/artifactIdversion${spring-cloud-alibaba.version}/versiontypepom/typescopeimport/scope/dependencydependencygroupIdorg.apache.dubbo/groupIdartifactIddubbo-spring-boot-starter/artifactIdversion${spring-cloud-alibaba-dubbo.version}/version/dependencydependencygroupIdcn.com.roswu/groupIdartifactIdmicro-service-api/artifactIdversion${roswu.version}/version/dependency/dependencies/dependencyManagementdependenciesdependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactId/dependency/dependenciesbuildpluginManagementpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactIdversion${spring-boot.version}/version/plugin/plugins/pluginManagement/build3.3 服务说明本次只做简单的依赖处理和连通性测试设置四个module。micro-service-apiapi接口定义正常的多个不同领域的应用可以配备各自的api module供其它应用引入与调用micro-service-a接口层应用对外提供调用入口micro-service-b服务层应用提供dubbo service接口实现providermicro-service-b2同micro-service-b应用名一致本地做多实例测试用3.4 micro-service-api该module只定义接口pom文件不需要引入相关依赖继承一下根pom即可。定义一个interface接口publicinterfaceMicroBService{StringbServiceInvoke(Stringparam);}3.5 micro-service-b依赖首先是依赖需要引入nacos和dubbo还有springboot-web这些依赖还有micro-service-apidependenciesdependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacos-discovery/artifactId/dependencydependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacos-config/artifactId/dependencydependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-bootstrap/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency!--自定义依赖--dependencygroupIdcn.com.roswu/groupIdartifactIdmicro-service-api/artifactId/dependencydependencygroupIdorg.apache.dubbo/groupIdartifactIddubbo-spring-boot-starter/artifactId/dependency/dependencies配置接着是配置文件这里配置了nacos和dubbo相关的信息其实这里的nacos配置可以省掉如果不用nacos配置文件的话因为dubbo配置的信息也会与nacos建立长连接后续通过dubbo协议做接口rpc调用时主要用的是这个连接实现的。server:port:8092spring:profiles:active:devapplication:name:micro-service-bcloud:nacos:config:import-check:enabled:falseserver-addr:localhost:8848namespace:publicfile-extension:yamlconfig:import:optional:nacos:micro-service-b-dev.yaml?groupDEFAULT_GROUPdubbo:application:name:micro-service-benable-file-cache:falseregistry:address:nacos://localhost:8848protocol:name:dubboport:18092scan:base-packages:cn.com.roswumanagement:endpoints:web:exposure:include:*dubbo provider然后的DubboService的实现类Slf4jServiceDubboServicepublicclassMicroBServiceImplimplementsMicroBService{OverridepublicStringbServiceInvoke(Stringparam){log.info(bServiceInvoke param:{},param);returnparam- bServiceInvoke;}}服务启动后可以在nacos的服务列表中看到micro-service-b和MicroBService生产者的注册信息。聪明的你很快注意到micro-service-b这里的实例数是2点开详情可以看到一个是服务注册的实例一个是dubbo注册的实例。3.6 micro-service-b2这个实例只需要修改一下服务端口和dubbo监听的端口即可其它内容和micro-service-b保持一样service实现里面的文案可以稍稍修改一下。server:port:8093spring:profiles:active:devapplication:name:micro-service-bcloud:nacos:config:import-check:enabled:falseserver-addr:localhost:8848namespace:publicfile-extension:yamlconfig:import:optional:nacos:micro-service-b-dev.yaml?groupDEFAULT_GROUPdubbo:application:name:micro-service-benable-file-cache:falseregistry:address:nacos://localhost:8848protocol:name:dubboport:18093scan:base-packages:cn.com.roswumanagement:endpoints:web:exposure:include:*3.7 micro-service-a依赖可与micro-service-b保持一致配置总体与micro-service-b保持一致增加了dubbo消费者负载均衡策略为roundrobin轮训check为false不添加此配置会检查服务接口的provider是否注册server:port:8091spring:profiles:active:devapplication:name:micro-service-acloud:nacos:config:import-check:enabled:falseserver-addr:localhost:8848namespace:publicfile-extension:yamlconfig:import:optional:nacos:micro-service-a-dev.yaml?groupDEFAULT_GROUPdubbo:consumer:check:falseloadbalance:roundrobin# provider:application:name:micro-service-aregistry:address:nacos://localhost:8848protocol:name:dubboport:18091scan:base-packages:cn.com.roswumanagement:endpoints:web:exposure:include:*web接口DubboReference注解这里也可以设置负载均衡方式而且优先级更高。org.springframework.web.bind.annotation.RestControllerorg.springframework.web.bind.annotation.RequestMapping(/web)publicclassRestController{DubboReference// DubboReference(loadbalance LoadbalanceRules.ROUND_ROBIN)privateMicroBServicemicroBService;GetMapping(hello)publicStringhello(RequestParam(valueparam,requiredfalse)Stringparam){returnmicroBService.bServiceInvoke(param);}}测试启动三个服务查看nacos服务列表浏览器直接访问http://localhost:8091/web/hello?param123查看micro-service-b和micro-service-b2控制台如果是轮训着输出结果即符合预期。

相关文章:

springcloud alibaba系列:整合springcloud alibaba+nacos+dubbo

springcloud alibaba系列:整合springcloud alibabanacosdubbo1 引2 相关文章推荐3 环境准备3.1 nacos-server3.2 服务依赖3.3 服务说明3.4 micro-service-api3.5 micro-service-b依赖配置dubbo provider3.6 micro-service-b23.7 micro-service-a依赖配置web接口测试…...

Qwen3-32B-Chat百度SEO长尾词:Qwen3-32B大模型私有部署成本效益分析报告

Qwen3-32B大模型私有部署成本效益分析报告 1. 为什么选择私有部署Qwen3-32B 在当今企业数字化转型浪潮中,大型语言模型已成为提升业务效率的关键工具。Qwen3-32B作为一款性能优异的中英双语大模型,其私有部署方案能够为企业带来独特优势: …...

Altium Designer 16原理图设计中的网络标号问题:如何快速解决Net xxx has only one pin报错

Altium Designer网络标号报错实战:BGA设计中的单引脚网络处理技巧 在复杂PCB设计领域,BGA封装器件的高密度布线一直是硬件工程师面临的挑战。当你在Altium Designer中完成原理图设计,满怀期待地执行编译检查时,突然弹出的"Ne…...

OmenSuperHub:游戏本终极性能释放,告别过热与功耗焦虑

OmenSuperHub:游戏本终极性能释放,告别过热与功耗焦虑 【免费下载链接】OmenSuperHub 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 你是否曾为游戏本过热降频而烦恼?是否对官方控制软件的功能限制感到无奈&#xff1f…...

SimpleGUI:面向资源受限MCU的轻量级嵌入式GUI框架

1. SimpleGUI:嵌入式系统轻量级图形用户界面基础框架深度解析SimpleGUI 是一个面向资源受限嵌入式平台(如 Cortex-M0/M3/M4、RISC-V MCU)设计的极简 GUI 基础类库。其核心定位并非替代 LVGL 或 TouchGFX 等全功能 GUI 框架,而是提…...

Java八股文学习神器:丹青幻境图解核心知识点与面试题

Java八股文学习神器:丹青幻境图解核心知识点与面试题 每次准备Java面试,面对JVM、并发、集合这些“八股文”,你是不是也感到头大?概念抽象、机制复杂,光靠死记硬背,面试官稍微一问细节就露馅了。 最近&am…...

告别烦人弹窗!用Shizuku+App Ops一键关闭安卓投屏/录屏敏感信息提示(保姆级教程)

安卓投屏免打扰终极方案:ShizukuApp Ops深度配置指南 每次投屏演示时那个跳出来的"显示敏感信息"提示框,是不是让你抓狂?手游直播到关键时刻突然弹出的授权确认,有没有让你想砸手机?今天我们就来彻底解决这…...

2026年必看!20款Agentic AI框架深度解析,小白程序员轻松选型避坑指南(收藏版)

随着AI Agent的快速发展,本文深入解析了20个Agentic AI框架,涵盖了它们的技术特点、优缺点及适用场景。文章从多智能体协作、开发模式、功能侧重和技术栈适配等多个维度进行了详细分析,为开发者提供了全面的选型指南。无论是新手还是经验丰富…...

Local SDXL-Turbo应用案例:快速生成社交媒体配图实战

Local SDXL-Turbo应用案例:快速生成社交媒体配图实战 在社交媒体运营中,配图质量直接影响内容传播效果。传统设计流程需要经历构思、设计、修改等多个环节,耗时耗力。本文将展示如何利用Local SDXL-Turbo实现"键盘敲击间完成专业配图&q…...

探索BLDC低压方波控制方案:无霍尔无感驱动的魅力

BLDC低压方波控制方案 直流无刷电机驱动器 无感方案,无霍尔。 闭环启动方案,有位置检测,启动力矩大。 可用于园林工具,电动工具,割草机。 修枝机,电剪刀,电链锯 采用比较器方案,成熟…...

用遗传算法求解带充电桩的电动汽车路径规划VRPTW问题

遗传算法求解带充电桩的电动汽车路径规划VRPTW问题 具有的功能 软时间窗,时间窗惩罚,多目标点,充电,遗传算法 生成运输成本 车辆 路线 带时间窗,注释多,matlab程序 代码有详细注释,可快速上手。在当今的物流…...

Phi-3-vision-128k-instruct 与 MATLAB 联动:科学计算可视化分析

Phi-3-vision-128k-instruct 与 MATLAB 联动:科学计算可视化分析 1. 科研数据分析的新范式 想象这样一个场景:你刚在MATLAB中完成了一组复杂的数据拟合,生成了包含多条曲线的图表。传统方式下,你需要手动分析每条曲线的趋势、标…...

30k stars!shadPS4:在 PC 上玩 PS4 独占游戏!

shadPS4:在 PC 上玩 PS4 独占游戏,开源模拟器杀到 29k Stars! 前言:那些年我们错过的 PS4 独占 《血源诅咒》(Bloodborne)至今没有 PC 版,《最后的守护者》只在 PS4 上发布,《重力异…...

行政空调总忘关?RPA按时间开关,每月省600度电

RPA定时开关空调方案通过RPA(机器人流程自动化)技术实现行政区域空调的定时开关,可有效避免人为遗忘导致的能源浪费。以下为具体实施方案及节能测算:实施步骤部署RPA软件 选择UiPath、Automation Anywhere等主流RPA平台&#xff0…...

GraphicsDisplay嵌入式图形显示基类详解

1. GraphicsDisplay 显示库概述GraphicsDisplay 是由 Simon Ford 开发并开源的嵌入式图形显示基础类库,其核心定位并非一个完整 GUI 框架,而是一个面向硬件抽象层(HAL)的、轻量级、可继承的显示驱动基类。它不直接实现像素绘制或字…...

别再为PBR贴图转换头疼了!Photoshop/SP手把手教你Metal/Roughness与Spec/Gloss互转(附PS动作文件)

PBR贴图高效转换指南:从理论到一键化实践 在游戏美术和影视资产制作中,PBR(基于物理的渲染)已经成为行业标准。但不同项目、不同引擎甚至不同资产商店往往采用不同的PBR工作流,这给美术工作者带来了不少困扰。本文将深…...

音频设备管理工具效率革命:无缝切换体验指南

音频设备管理工具效率革命:无缝切换体验指南 【免费下载链接】AudioSwitch Switch between default audio input or output change volume 项目地址: https://gitcode.com/gh_mirrors/au/AudioSwitch 音频设备管理工具是现代电脑用户提升工作效率的关键工具…...

Python协同过滤小说推荐与可视化大屏 Django框架 协同过滤推荐算法 可视化 机器学习 大数据 大模型 计算机毕业设计(建议收藏)✅

1、项目介绍 技术栈 Python语言、MySQL数据库、Django框架、基于用户与基于物品的双重协同过滤推荐算法、Echarts可视化工具、HTML 功能模块 注册登录模块:提供用户账户注册与登录功能,保障访问安全与操作权限 系统首页模块:聚合小说推荐、可…...

APK-Installer:轻量级Windows APK安装工具解决跨平台应用运行难题

APK-Installer:轻量级Windows APK安装工具解决跨平台应用运行难题 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer APK-Installer是一款专为Windows系统设计…...

AWS STS香港区域(ap-east-1)临时凭证失效?手把手教你配置区域endpoint解决

AWS STS香港区域临时凭证失效的深度解析与实战解决方案 最近在AWS香港区域(ap-east-1)使用STS临时凭证时,不少开发者遇到了"Token is malformed or invalid"的报错。这个问题看似简单,背后却涉及AWS全球服务架构的设计理念。本文将带您深入理解…...

大数据基于java的云南旅游景点数据分析与可视化

目录数据收集与预处理数据分析与挖掘可视化实现系统架构设计技术栈选型预期成果项目技术支持可定制开发之功能创新亮点源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作数据收集与预处理 从公开数据源(如云南省旅游局官网、携程、…...

Pt100查表法温度转换库:基于DIN 43760的嵌入式高精度实现

1. PT100 RTD库技术解析:面向工业级精度的嵌入式温度测量实现1.1 库定位与工程价值pt100rtd是一个专为嵌入式平台设计的高精度Pt100电阻温度检测器(RTD)转换库,其核心使命是将实测电阻值(单位:Ω&#xff0…...

DDR4设计实战:当你的板子要同时兼容单双DIE颗粒,我踩过的坑你别再踩了

DDR4兼容设计实战:单双DIE颗粒共存的工程挑战与解决方案 在硬件设计领域,DDR4内存子系统设计一直是工程师们面临的重要挑战之一。特别是在需要兼顾供应链灵活性和成本控制的场景下,设计一块能够同时支持单DIE和双DIE两种DDR4颗粒的PCB板&…...

GP2Y0A02YK0F红外测距传感器嵌入式驱动与非线性校准

1. 红外测距传感器技术解析与嵌入式实现1.1 GP2Y0A02YK0F传感器原理与特性GP2Y0A02YK0F是夏普(Sharp)公司推出的模拟输出型红外测距传感器模块,专为中距离非接触式距离检测设计。该模块采用三角测量法(Triangulation Method&#…...

Gemma-3-270m参数详解:270M规模下模型结构、tokenizer与量化选项说明

Gemma-3-270m参数详解:270M规模下模型结构、tokenizer与量化选项说明 1. 模型架构深度解析 Gemma-3-270m作为谷歌Gemma 3系列中最轻量级的模型,虽然只有2.7亿参数,但在架构设计上却体现了现代Transformer的精髓。 1.1 核心架构特点 Gemma…...

Phi-3-mini-128k-instruct知识问答效果对比:在计算机基础领域的表现

Phi-3-mini-128k-instruct知识问答效果对比:在计算机基础领域的表现 最近在技术社区里,关于小型语言模型在专业领域表现的话题讨论得挺热闹。特别是像计算机组成原理、操作系统这些硬核的基础课,很多同学都希望能有个靠谱的AI助手&#xff0…...

3D Face HRN实操手册:批量处理脚本支持CSV人脸路径列表+自动重命名+目录归类

3D Face HRN实操手册:批量处理脚本支持CSV人脸路径列表自动重命名目录归类 1. 项目概述 3D Face HRN是一个基于深度学习的高精度人脸三维重建系统,能够从单张2D人脸照片生成精确的3D面部几何结构和UV纹理贴图。这个系统对于数字人制作、虚拟形象创建、…...

5分钟搞定!实时口罩检测-通用快速部署教程,公共场所防疫利器

5分钟搞定!实时口罩检测-通用快速部署教程,公共场所防疫利器 1. 为什么你需要这个口罩检测工具 在商场、地铁站、医院等公共场所,人工检查口罩佩戴情况既费时又容易遗漏。传统方案需要专业开发团队和大量标注数据,而今天介绍的&…...

参数调优指南:Fish Speech 1.5温度、Top-P设置技巧详解

参数调优指南:Fish Speech 1.5温度、Top-P设置技巧详解 1. 理解Fish Speech 1.5的核心参数 Fish Speech 1.5作为一款创新的文本转语音(TTS)工具,其参数设置直接影响生成语音的质量和风格。在众多参数中,温度和Top-P是最关键的两个控制参数&…...

DeepSeek总结的用 C# 构建 DuckDB 插件说明

原文地址:https://duckdb.org/2026/03/20/duckdb-extensionkit-csharp DuckDB.ExtensionKit:用 C# 构建 DuckDB 扩展 Giorgi Dalakishvili 2026-03-20 9分钟阅读 TL;DR: DuckDB.ExtensionKit 将 DuckDB 扩展开发带入了 .NET 生态系统。它基于…...