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

spring-cloud和spring-cloud-alibaba的关系

首先Spring Cloud 是什么?

Spring Cloud是一系列框架的有序集合,它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发。Spring Cloud提供了微服务架构开发所需的多种组件和工具,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。它并没有重复制造轮子,而是将各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装,屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。

关系解释

Spring Cloud Alibaba 在使用时通常需要依赖 Spring Cloud 的依赖包。这是因为 Spring Cloud Alibaba 是 Spring Cloud 生态系统中的一个子项目,它提供了对阿里巴巴开源组件(如 Nacos、Sentinel、RocketMQ 等)的集成支持。因此,为了保持项目依赖的完整性和一致性,当使用 Spring Cloud Alibaba 时,往往也需要包含 Spring Cloud 的相关依赖。

具体来说,Spring Cloud Alibaba 的项目通常会通过 Maven 或 Gradle 等构建工具来管理依赖。在 pom.xml(Maven)或 build.gradle(Gradle)文件中,会明确指定所需的依赖项,包括 Spring Cloud Alibaba 的启动器(starter)和 Spring Cloud 的依赖管理(dependency management)。

依赖管理的典型做法

依赖管理(Dependency Management):

  • 在项目的父 POM 或根 Gradle 配置中,会指定 Spring Cloud Alibaba 和 Spring Cloud 的 BOM(Bill of Materials)依赖,以统一管理项目中使用的所有相关库的版本。
  • 例如,对于 Maven 项目,可能会在 部分添加 Spring Cloud Alibaba 和 Spring Cloud 的依赖项,如下所示:
<dependencyManagement>  <dependencies>  <dependency>  <groupId>com.alibaba.cloud</groupId>  <artifactId>spring-cloud-alibaba-dependencies</artifactId>  <version>版本号</version>  <type>pom</type>  <scope>import</scope>  </dependency>  <dependency>  <groupId>org.springframework.cloud</groupId>  <artifactId>spring-cloud-dependencies</artifactId>  <version>版本号</version>  <type>pom</type>  <scope>import</scope>  </dependency>  </dependencies>  
</dependencyManagement>

注意spirng-cloud和spring-cloud-alibaba版本号的适配问题
cloud (Hoxton.SR1) ---- cloud-alibaba(2.1.0.RELEASE)

具体依赖(Dependencies):

  • 在具体的项目模块或应用中,会引入所需的 Spring Cloud Alibaba 和 Spring Cloud 的启动器(starter)依赖。
  • 例如,为了使用 Nacos 作为服务发现和配置中心,可以添加如下依赖:
<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>  
</dependencies>

注意事项

  • 版本兼容性:在使用 Spring Cloud Alibaba 时,需要注意其与 Spring Cloud 的版本兼容性。通常,Spring Cloud Alibaba 的官方文档会提供与不同版本 Spring Cloud 的兼容信息。
  • 构建配置:在项目的构建配置文件中,除了添加依赖外,还需要注意配置文件的命名和加载顺序(如 application.yml 和 bootstrap.yml),以确保配置的正确加载和应用。
  • 综上所述,Spring Cloud Alibaba 在使用时通常需要依赖 Spring Cloud 的依赖包,以确保项目的正确构建和稳定运行。

大白话总结

Spring Cloud 只提供抽象模式的定义不提供官方稳定实现,开发者只能寻求类似 Netflix、Alibaba、Azure 等不同厂商的实现套件,而每个厂商支持的完善度、稳定性、活跃度各异
Sping Cloud和Spring Cloud alibaba的关系相当于和Sping Cloud和Netflix的关系

http://www.lryc.cn/news/401499.html

相关文章:

  • 持续集成06--Jenkins构建触发器
  • 根据视图矩阵, 恢复相机的世界空间的位置
  • 使用pytest-playwright截图和录制视频并添加到Allure报告
  • pytorch GPU cuda 使用 报错 整理
  • python + Pytest + requests 的接口自动化步骤
  • 基于若依的ruoyi-nbcio流程管理系统修正自定义业务表单的回写bug
  • GD32 MCU上电跌落导致启动异常如何解决
  • 安防视频监控/视频汇聚EasyCVR平台浏览器http可以播放,https不能播放,如何解决?
  • rust + python+ libtorch
  • ts检验-变量的类型不会包含 undefined的几种处理方法
  • springboot 集成minio,启动报错
  • bignumber.js库,解决前端小数精度问题
  • Java爬虫安全策略:防止TikTok音频抓取过程中的请求被拦截
  • 通过手机控制家用电器的一个程序的设计(一)
  • 批量提取PDF指定区域内容到 Excel , 根据PDF文件第一行文字来自动重命名v1.3-附思路和代码实现
  • 【持续集成_05课_Linux部署SonarQube及结合开发项目部署】
  • 人像视频预处理【时间裁剪+画面裁切+调整帧率】
  • SpringBoot+HttpClient实现文件上传下载
  • QT--控件篇四
  • opencv—常用函数学习_“干货“_2
  • 解析CSS与JavaScript的使用方法及ECMAScript语法规则
  • 从零开始学习嵌入式----结构体struct和union习题回顾
  • 建筑产业网元宇宙的探索与实践
  • 比较RMI、HTTP+JSON/XML、gRPC
  • 软件工程-可行性分析
  • iOS ------ 消息传递和消息转发
  • 计算机视觉之Vision Transformer图像分类
  • 【深度学习】BeautyGAN: 美妆,化妆,人脸美妆
  • RocketMQ~架构与工作流程了解
  • 学习Python的IDE功能--(一)入门导览