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

目录
打赏
0
4
5
0
125
分享
相关文章
|
10月前
|
Spring事务的传播机制(行为、特性)
Spring事务的传播机制(行为、特性)
167 0
|
5月前
|
构建RESTful API已经成为现代Web开发的标准做法之一。Spring Boot框架因其简洁的配置、快速的启动特性及丰富的功能集而备受开发者青睐。
【10月更文挑战第11天】本文介绍如何使用Spring Boot构建在线图书管理系统的RESTful API。通过创建Spring Boot项目,定义`Book`实体类、`BookRepository`接口和`BookService`服务类,最后实现`BookController`控制器来处理HTTP请求,展示了从基础环境搭建到API测试的完整过程。
94 4
|
5月前
|
Spring Boot框架因其简洁的配置、快速的启动特性及丰富的功能集而备受开发者青睐
本文通过在线图书管理系统案例,详细介绍如何使用Spring Boot构建RESTful API。从项目基础环境搭建、实体类与数据访问层定义,到业务逻辑实现和控制器编写,逐步展示了Spring Boot的简洁配置和强大功能。最后,通过Postman测试API,并介绍了如何添加安全性和异常处理,确保API的稳定性和安全性。
96 0
SpringBoot是如何简化Spring开发的,以及SpringBoot的特性以及源码分析
Spring Boot 通过简化配置、自动配置和嵌入式服务器等特性,大大简化了 Spring 应用的开发过程。它通过提供一系列 `starter` 依赖和开箱即用的默认配置,使开发者能够更专注于业务逻辑而非繁琐的配置。Spring Boot 的自动配置机制和强大的 Actuator 功能进一步提升了开发效率和应用的可维护性。通过对其源码的分析,可以更深入地理解其内部工作机制,从而更好地利用其特性进行开发。
63 6
【SpringCloud Alibaba系列】Dubbo高级特性篇
本章我们介绍Dubbo的常用高级特性,包括序列化、地址缓存、超时与重试机制、多版本、负载均衡。集群容错、服务降级等。
【SpringCloud Alibaba系列】Dubbo高级特性篇
随着企业应用复杂度提升,Java Spring框架以其强大与灵活特性简化开发流程,成为构建高效、可维护应用的理想选择
随着企业应用复杂度提升,Java Spring框架以其强大与灵活特性简化开发流程,成为构建高效、可维护应用的理想选择。依赖注入使对象管理交由Spring容器处理,实现低耦合高内聚;AOP则分离横切关注点如事务管理,增强代码模块化。Spring还提供MVC、Data、Security等模块满足多样需求,并通过Spring Boot简化配置与部署,加速微服务架构构建。掌握这些核心概念与工具,开发者能更从容应对挑战,打造卓越应用。
65 1
|
10月前
|
Spring特性之一——AOP面向切面编程
Spring特性之一——AOP面向切面编程
98 1
学习Spring框架特性及jiar包下载
Spring 5作为最新版本,更新了JDK基线至8,修订了核心框架,增强了反射和接口功能,支持响应式编程及Kotlin语言,引入了函数式Web框架,并提升了测试功能。Spring框架可在其官网下载,包括文档、jar包和XML Schema文档,适用于Java SE和Java EE项目。
66 0
|
10月前
|
Spring框架的核心特性是什么?
【4月更文挑战第30天】Spring 的特性
552 0
强大!Spring Cloud Gateway新特性及高级开发技巧
在微服务架构日益盛行的今天,网关作为微服务架构中的关键组件,承担着路由、安全、监控、限流等多重职责。Spring Cloud Gateway作为新一代的微服务网关,凭借其基于Spring Framework 5、Project Reactor和Spring Boot 2.0的强大技术栈,正逐步成为业界的主流选择。本文将深入探讨Spring Cloud Gateway的新特性及高级开发技巧,助力开发者更好地掌握这一强大的网关工具。
372 6

热门文章

最新文章