Spring Cloud是什么及基本特性都有哪些?

简介: Spring Cloud 是用于构建健壮云应用的框架,包含多个子项目。其核心组件如Eureka(服务注册与发现)、Hystrix(熔断器)、Ribbon(负载均衡)等,帮助开发者快速实现微服务架构。Spring Cloud 提供了服务注册与发现、分布式配置、路由、断路器等功能,简化了微服务开发与管理。本文将重点介绍服务注册与发现及分布式配置两大特性。

Spring Cloud 是一个用于构建健壮的云应用程序的框架。让我们对它简单介绍一下。

Spring Cloud组成

Spring Cloud的子项目,大致可分成两类,一类是对现有成熟框架”Spring Boot化”的封装和抽象,也是数量最多的项目;第二类是开发了一部分分布式系统的基础设施的实现,如Spring Cloud Stream扮演的就是kafka, ActiveMQ这样的角色。对于我们想快速实践微服务的开发者来说,第一类子项目就已经足够使用,如:

Spring Cloud Netflix:核心组件,可以对多个Netflix OSS开源套件进行整合,包括以下几个组件:

Eureka:服务治理组件,包含服务注册与发现

Hystrix:容错管理组件,实现了熔断器

Ribbon:客户端负载均衡的服务调用组件

Feign:基于Ribbon和Hystrix的声明式服务调用组件

Zuul:网关组件,提供智能路由、访问过滤等功能

Spring Cloud 提供:

1、服务注册和发现

2、分布式/版本化配置

3、服务对服务呼叫

4、分布式消息传递

5、路由

6、断路器

7、负载平衡

8、全局锁定

9、领导人选举和集群状态

将在这篇文章中来介绍和讨论前两个特性

服务注册和发现

Spring Cloud为服务发现提供了许多解决方案,它们是 Eureka、 Zookeep、 Cloud Foundry 和 Consel。

什么是服务发现?

在分布式系统中,有许多部署的服务需要彼此通信(发现对方)以执行某些操作。

让我们举一个例子,假设我们有服务 A,它需要与服务 B 通信。服务 A 需要知道服务 B 的 IP,这是由服务发现过程完成的。

服务发现是一种具有中央注册中心的机制,用于维护所有微服务的网络位置。如果一个新的服务出现或一个旧的死亡新的信息将立即注册和注销本身。

通过使用Spring Cloud ,我们可以提供服务来完成服务发现的工作。

分布式/版本化配

因为我们正在制造分布式系统,我们需要外部化我们的配置。为什么需要它?让我们讨论一个场景,在服务中假设服务的 URL 发生了变化,我们只需要更新配置服务器中的 URL 并刷新客户端服务配置以使用更新后的 URL。

如果我们没有配置服务器,那么我们必须重新部署服务。我们可以使用 Spring 作为配置服务器进行服务。

Spring Cloud 提供了以下特性

1、HTTP,用于外部配置的基于资源的 API (名称-值对或等效的 YAML 内容)

2、在 Spring 启动应用程序中使用@EnableConfigServer 轻松嵌入

3、加密和解密属性值(对称或非对称)

配置客户端特性(针对 Spring 应用程序) :

1、加密和解密属性值(对称或非对称)

2、绑定到 Config Server 并使用远程属性源初始化 Spring 环境

Spring Cloud网关

这个Spring提供了一个库,可用于提供到 API 的路由的有效方法,并向 API 提供横切关注点,例如弹性、监视/度量和安全性

Spring Cloud Gateway 功能:

1、要求收费限制

2、谓词和筛选器是特定于路由的。

3、断路器集成。

4、客户端集成

5、易于编写谓词和筛选器

6、路径重写

7、能够匹配任何请求属性上的路由。

8、构建于 Spring 框架5、项目反应器和 Spring Boot 2.0之上


转载来源:https://juejin.cn/post/7260522385680482364

相关文章
|
11天前
|
人工智能 编解码 JSON
Qwen2.5-VL:阿里通义千问最新开源视觉语言模型,能够理解超过1小时的长视频
Qwen2.5-VL 是阿里通义千问团队开源的视觉语言模型,具有3B、7B和72B三种不同规模,能够识别常见物体、分析图像中的文本、图表等元素,并具备作为视觉Agent的能力。
238 18
Qwen2.5-VL:阿里通义千问最新开源视觉语言模型,能够理解超过1小时的长视频
|
12天前
|
机器学习/深度学习 人工智能 算法
《深度剖析Q-learning中的Q值:解锁智能决策的密码》
Q-learning是强化学习中的重要算法,其核心是Q值,即智能体在特定状态下采取某一动作后预计能获得的长期累积奖励。Q值如同“智慧密码”,指导智能体做出最优决策。通过贝尔曼方程更新Q值,智能体能在探索与利用之间找到平衡,逐渐学习到最优策略。在简单场景中,Q表可有效存储和更新Q值;而在复杂场景如自动驾驶中,则需借助深度神经网络近似Q值函数,推动强化学习在实际应用中的突破。
68 23
|
8天前
|
存储 人工智能 算法
C 408—《数据结构》算法题基础篇—数组(通俗易懂)
408考研——《数据结构》算法题基础篇之数组。(408算法题的入门)
56 23
|
22天前
|
前端开发 JavaScript API
React 图片放大组件 Image Zoom
本文介绍如何使用React创建图片放大组件(Image Zoom),提升用户体验。组件通过鼠标悬停或点击触发放大效果,利用`useState`管理状态,CSS实现视觉效果。常见问题包括图片失真、性能下降和移动端支持,分别可通过高质量图片源、优化事件处理和添加触摸事件解决。易错点涉及状态管理混乱、样式冲突和过多事件绑定,建议使用上下文API、CSS模块及优化事件绑定逻辑。高级功能扩展如多张图片支持和自定义放大区域进一步丰富了组件的实用性。
51 25
|
8天前
|
XML Java Maven
Spring 手动实现Spring底层机制
Spring 第六节 手动实现Spring底层机制 万字详解!
62 31
|
9天前
|
人工智能 编解码 语音技术
SpeechGPT 2.0:复旦大学开源端到端 AI 实时语音交互模型,实现 200ms 以内延迟的实时交互
SpeechGPT 2.0 是复旦大学 OpenMOSS 团队推出的端到端实时语音交互模型,具备拟人口语化表达、低延迟响应和多情感控制等功能。
114 21
SpeechGPT 2.0:复旦大学开源端到端 AI 实时语音交互模型,实现 200ms 以内延迟的实时交互
|
5天前
|
Linux
Linux安装svn并启动
Linux安装svn并启动
38 10
|
7天前
|
传感器 算法 自动驾驶
《5G赋能:朴素贝叶斯算法的实时进化与场景拓展》
5G技术以其高速率、低时延、大连接特性,推动各行业变革。在实时数据处理方面,5G为朴素贝叶斯算法插上翅膀,大幅提升数据传输速度和实时性,保障决策响应即时化,并支持大规模多维度数据处理。5G助力下,该算法在智能交通、远程医疗、工业互联网等领域展现全新活力,实现更精准的分析与预测,为社会发展带来创新与便利。
51 20
|
7天前
|
IDE Linux API
轻松在本地部署 DeepSeek 蒸馏模型并无缝集成到你的 IDE
本文将详细介绍如何在本地部署 DeepSeek 蒸馏模型,内容主要包括 Ollama 的介绍与安装、如何通过 Ollama 部署 DeepSeek、在 ChatBox 中使用 DeepSeek 以及在 VS Code 中集成 DeepSeek 等。
800 14
轻松在本地部署 DeepSeek 蒸馏模型并无缝集成到你的 IDE
|
12小时前
|
机器学习/深度学习 存储 自然语言处理
《Peephole LSTM:窥视孔连接如何开启性能提升之门》
Peephole LSTM是LSTM的一种变体,通过引入窥视孔连接,使各个门(输入门、遗忘门和输出门)能够直接访问细胞状态,从而在门控决策中提供更多的上下文信息。这使得模型能更精准地保留和利用序列中的关键长期依赖关系,避免信息丢失,提升对复杂序列数据的处理能力,在语音识别、自然语言处理等领域表现出色。

热门文章

最新文章