微服务 第三章 Spring Cloud 简介
作者:mmseoamin日期:2023-12-14

系列文章目录

第一章 Java线程池技术应用

第二章 CountDownLatch和Semaphone的应用

第三章 Spring Cloud 简介

微服务 第三章 Spring Cloud 简介,在这里插入图片描述,第1张


文章目录

  • 系列文章目录
    • @[TOC](文章目录)
    • 前言:Spring Cloud是一款基于 Spring Boot 实现的微服务框架
    • 1、Spring Cloud 的常用组件如下表所示。
    • 2、Spring Boot 和 Spring Cloud 的区别与联系
      • 2.1、Spring Boot 和 Spring Cloud 分工不同

        前言:Spring Cloud是一款基于 Spring Boot 实现的微服务框架

        Spring Cloud 并不是一个拿来即可用的框架,它是一种微服务规范,共有以下 2 代实现:

        • 第一代实现:Spring Cloud Netflix
        • 第二代实现:Spring Cloud Alibaba

          1、Spring Cloud 的常用组件如下表所示。

          微服务 第三章 Spring Cloud 简介,在这里插入图片描述,第2张

          Spring Cloud 组件描述
          Spring Cloud Netflix EurekaSpring Cloud Netflix 中的服务治理组件,包含服务注册中心、服务注册与发现机制的实现。
          Spring Cloud Netflix RibbonSpring Cloud Netflix 中的服务调用和客户端负载均衡组件。
          Spring Cloud Netflix Hystrix人称“豪猪哥”,Spring Cloud Netflix 的容错管理组件,为服务中出现的延迟和故障提供强大的容错能力。
          Spring Cloud Netflix Feign基于 Ribbon 和 Hystrix 的声明式服务调用组件。
          Spring Cloud Netflix ZuulSpring Cloud Netflix 中的网关组件,提供了智能路由、访问过滤等功能。
          Spring Cloud Gateway一个基于 Spring 5.0,Spring Boot 2.0 和 Project Reactor 等技术开发的网关框架,它使用 Filter 链的方式提供了网关的基本功能,例如安全、监控/指标和限流等。
          Spring Cloud ConfigSpring Cloud 的配置管理工具,支持使用 Git 存储配置内容,实现应用配置的外部化存储,并支持在客户端对配置进行刷新、加密、解密等操作。
          Spring Cloud BusSpring Cloud 的事件和消息总线,主要用于在集群中传播事件或状态变化,以触发后续的处理,例如动态刷新配置。
          Spring Cloud StreamSpring Cloud 的消息中间件组件,它集成了 Apache Kafka 和 RabbitMQ 等消息中间件,并通过定义绑定器作为中间层,完美地实现了应用程序与消息中间件之间的隔离。通过向应用程序暴露统一的 Channel 通道,使得应用程序不需要再考虑各种不同的消息中间件实现,就能轻松地发送和接收消息。
          Spring Cloud SleuthSpring Cloud 分布式链路跟踪组件,能够完美的整合 Twitter 的 Zipkin。

          2、Spring Boot 和 Spring Cloud 的区别与联系

          2.1、Spring Boot 和 Spring Cloud 分工不同

          Spring Boot 是一个基于 Spring 的快速开发框架,它能够帮助开发者迅速搭 Web 工程。

          Spring Cloud 是微服务架构下的一站式解决方案

          • Spring Cloud 是基于 Spring Boot 实现的
          • Spring Boot 和 Spring Cloud 依赖项数量不同
          • Spring Cloud 不能脱离 Spring Boot 单独运行

            Spring Cloud版本选择

            spring-cloudSpring Boot
            Hoxton.SR12>=2.2.0.RELEASE and <2.4.0.M1
            2020.0.6>=2.4.0.M1 and <2.6.0-M1
            2021.0.0-M1>=2.6.0-M1 and <2.6.0-M3
            2021.0.0-M3Spring Boot >=2.6.0-M3 and <2.6.0-RC1
            2021.0.0-RC1Spring Boot >=2.6.0-RC1 and <2.6.1
            2021.0.5Spring Boot >=2.6.1 and < 3.0.0-M1
            2022.0.0-M1Spring Boot >=3.0.0-M1 and < 3.0.0-M2
            2022.0.0-M2Spring Boot >=3.0.0-M2 and < 3.0.0-M3
            2022.0.0-M3Spring Boot >=3.0.0-M3 and < 3.0.0-M4
            2022.0.0-M4Spring Boot >=3.0.0-M4 and < 3.0.0-M5
            2022.0.0-M5Spring Boot >=3.0.0-M5 and < 3.0.0-RC1
            2022.0.0-RC1Spring Boot >=3.0.0-RC1 and < 3.0.0-RC2
            2022.0.0-RC2Spring Boot >=3.0.0-RC2 and < 3.1.0-M1