微服务 第三章 Spring Cloud 简介

2023-09-17 09:52:16

系列文章目录

第一章 Java线程池技术应用
第二章 CountDownLatch和Semaphone的应用
第三章 Spring Cloud 简介
在这里插入图片描述


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

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

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

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

在这里插入图片描述

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
更多推荐

阿里云国际站云服务器数据备份方法有哪些?

阿里云国际站云服务器是一种根据云计算技术的虚拟服务器,它能够经过互联网提供计算资源和服务。在运用云服务器的过程中,数据备份是非常重要的一个环节。本文将介绍云服务器数据备份的办法,包含手动备份、主动备份和数据同步。一、手动备份手动备份是将数据复制到另一台服务器或外部存储设备的过程。这种办法适用于数据量较小的场景,能够手动

如何在微信上制作自己的小程序卖东西

在当今的数字化时代,微信小程序已成为电商行业的重要平台。本文将详细解析电商微信小程序的制作流程,帮助你了解从零到上线的过程。一、前期准备1.确定商城定位和目标群体:在制作电商微信小程序前,你需要明确商城的定位,如销售什么产品、面向哪些用户群体等。同时,了解目标群体的需求和习惯,以便进行针对性设计。二、制作流程1.登录乔

基于微信小程序的个人健康管理系统的设计与实现(源码+lw+部署文档+讲解等)

前言💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗👇🏻精彩专栏推荐订阅👇🏻2023-2024年最值得选的微信小程序毕业设计选题大全:100个热门选

Unity丨移动相机朝向目标并确定目标在摄像机可视范围内丨摄像机注释模型丨摄像机移动丨不同尺寸模型优化丨

文章目录问题描述功能展示技术细节小结问题描述本文提供的功能是摄像机朝向目标移动,并确定整个目标出现在摄像机视角内,针对不同尺寸的模型优化。功能展示提示:这里可以添加技术名词解释技术细节直接上代码usingUnityEngine;publicclassCameraController:MonoBehaviour{publ

mybati缓存了解

title:“mybati缓存了解”createTime:2021-12-08T12:19:57+08:00updateTime:2021-12-08T12:19:57+08:00draft:falseauthor:“ggball”tags:[“mybatis”]categories:[“java”]descripti

软键盘控制cesium相机移动旋转

1.有航向类似于控制飞机飞行<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content="width=devi

刷题笔记25——图论课程表

为了最终理解你所不理解的,你必须经历一条愚昧无知的道路。为了占有你从未占有的东西,你必须经历被剥夺的道路。为了达到你现在所不在的名位,你必须经历那条你不在其中的道路。——艾略特797.所有可能的路径(已经告知:是有向无环图,所以不需要设置visited)非常奇妙,我最初的错误是如下,在找到目标节点后直接加入到res中,

混合应用比原生应用优越在哪里?

随着移动应用和桌面应用市场的不断发展,开发者们一直在寻找一种能够在多个平台上快速构建应用的方法。传统上,原生应用开发被视为性能最佳的选择,纯粹的原生应用通常是一种依赖于平台的GUI程序,它使用特定操作系统的本地开发语言和GUI框架。但近年来,跨平台混合应用的崭露头角,逐渐取代了性能优先的原生应用。本文将深入探讨这一趋势

安全线程的集合

1.CopyOnWriteArrayListpackagecom.kuang.unsafe;importjava.util.*;importjava.util.concurrent.CopyOnWriteArrayList;//java.util.ConcurrentModificationException并发修改异

Spring高手之路13——BeanFactoryPostProcessor与BeanDefinitionRegistryPostProcessor解析

文章目录1.BeanFactoryPostProcessor概览1.1解读BeanFactoryPostProcessor1.2.如何使用BeanFactoryPostProcessor2.BeanDefinitionRegistryPostProcessor深入探究2.1解读BeanDefinitionRegistr

云原生的简单理解

一、何谓云原生?一种构建和运行应用软件的方法应用程序从设计之初即考虑到云的环境,原生为云而设计,在云上以最佳姿势运行,充分利用和发挥云平台的弹性+分布式优势。二、包括以下四个要素采用容器化部署:实现云平台的弹性基于微服务的架构:提高服务变更的灵活性和可维护性借助敏捷防范、DevOps支持持续迭代和运维自动化;1.1、微

热文推荐