Spring Cloud 简介

Spring Cloud专注于为典型用例提供良好的开箱即用体验和可扩展性。提供对微服务架构的支持,包含服务注册与发现、负载均衡、跨服务调用、熔断限流、配置管理、服务网关、分布式消息等功能。它简化了微服务的开发和运维,同时与Spring Boot无缝集成,提供了易于配置和管理的解决方案。

spring cloud 的版本

spring cloud的早期版本Spring Cloud Dalston, Edgware, Finchley, Greenwich, 2020(又名Ilford), 2021.0(又名Jubilee)和2022.0(又名Kilburn)都已达到生命终止状态,不再支持。最新的版本2023.0.x (又名Leyton),但是最新的版本都是依赖spring boot 3版本,spring boot3 已不再支持jdk8。这里学习还是以旧的版本来搭建环境,这里以spring cloud 2021来学习

spring cloud 和 spring boot版本依赖关系如下:

Release TrainSpring Boot Generation
2023.0.x aka Leyton3.3.x, 3.2.x
2022.0.x aka Kilburn3.0.x, 3.1.x (Starting with 2022.0.3)
2021.0.x aka Jubilee2.6.x, 2.7.x (Starting with 2021.0.3)
2020.0.x aka Ilford2.4.x, 2.5.x (Starting with 2020.0.3)
Hoxton2.2.x, 2.3.x (Starting with SR5)
Greenwich2.1.x
Finchley2.0.x
Edgware1.5.x
Dalston1.5.x

设置父工程全局依赖

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-dependencies</artifactId>
            <version>2.7.11</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>2021.0.8</version>
            <type>pom</type>spring
            <scope>import</scope>
        </dependency>

        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-alibaba-dependencies</artifactId>
            <version>2021.0.4.0</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

这里依赖三个springboot版本2.7.11、springcloud版本2021.0.8、springcloud alibaba2021.0.4.0。这样在父工程dependencyManagement配置好后,子工程直接写具体的引用不用在写具体的版本号。并且各个模块版本依赖都是合适的,不会出现版本不匹配问题。

如引入springweb

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

这里不写版本号会默认使用spring-boot-dependencies中指定的版本2.7.11。这个具体的版本指定在spring-boot-dependencies-2.7.11.pom文件里。
后面的学习都将基于这个父工程依赖配置。

Spring Cloud 、Spring Cloud Netflix 、Spring Cloud Alibaba的关系?

Spring Cloud 是一个用于构建分布式系统(特别是微服务架构)的框架,提供了一组功能全面的工具,帮助开发者解决常见的分布式系统问题,常用的组件如下。

  1. Spring Cloud Config:集中式配置管理,支持服务配置的动态刷新。
  2. Spring Cloud Netflix:集成 Netflix 组件
  3. Spring Cloud Gateway:高性能的 API 网关,提供路由、过滤和负载均衡功能。
  4. Spring Cloud Sleuth:分布式跟踪,集成了 Zipkin 和 Brave,用于日志追踪和性能监控。
  5. Spring Cloud Stream:构建消息驱动的微服务,支持消息中间件如 Kafka 和 RabbitMQ。
  6. Spring Cloud Bus:用于在分布式系统中传播事件和消息,常用于配置刷新。
  7. Spring Cloud Consul:集成 Consul 进行服务发现和配置管理。
  8. Spring Cloud Zookeeper:集成 Zookeeper 用于服务发现和配置管理。
  9. Spring Cloud Alibaba:集成 Alibaba 的开源项目

Spring Cloud Netflix 是 Spring Cloud 的一个子项目,专注于集成 Netflix (国外有名的视频网站公司)的开源组件。这些组件包括:

  • Eureka:服务注册与发现
  • Ribbon:客户端负载均衡
  • Hystrix:断路器模式
  • Zuul:网关和路由

Spring Cloud Netflix 提供了微服务架构所需的基础设施和工具,使得在这些常见的微服务问题上更加方便和高效。

Spring Cloud Alibaba 是 Spring Cloud 的一个扩展,专注于集成 Alibaba 的开源项目和服务。它提供了一些与中国市场和Alibaba云服务相关的解决方案,如:

  • Nacos:动态服务发现和配置管理
  • Sentinel:流量控制和熔断保护
  • RocketMQ:分布式消息中间件
  • Dubbo:高性能Java RPC框架
  • Seata:分布式事务管理

Spring Cloud Alibaba 旨在将 Alibaba 的强大工具和服务无缝集成到 Spring Cloud 中,提供额外的功能和优化。

这些项目可以单独使用,也可以根据具体需求结合使用。例如,你可以在一个项目中使用 Spring Cloud Netflix 的组件来处理服务发现和负载均衡,同时使用 Spring Cloud Alibaba 的工具来处理配置管理和流量控制。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值