前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringCloud介绍

SpringCloud介绍

作者头像
别团等shy哥发育
发布2023-02-25 15:53:04
7700
发布2023-02-25 15:53:04
举报
文章被收录于专栏:全栈开发那些事

SpringCloud介绍

1、简介

  Spring Cloud为开发人员提供了工具,以快速构建分布式系统中一些常见模式(配置管理、服务发现、断路器、智能路由、微代理、控制总线、令牌token、全局锁、领导选择、分布式session和集群状态等)。使用Spring Cloud,开发人员可以快速实现这些模式的服务和应用程序。它们可以在任何分布式环境中正常工作,包括开发人员的笔记本电脑、裸机数据中心以及Cloud Foundry等托管平台。

2、Spring Cloud的特性

  Spring Cloud专注于为典型的用例和可扩展性提供良好的开箱即用体验,其主要特性有以下几点:

  • 分布式/版本化配置(distributed/versioned configuration)
  • 服务注册和发现(service registration and discovery)
  • 动态路由(routing)
  • 微服务调用(service-to-service calls)
  • 负载均衡(load balancing)
  • 断路器(circuit breakers)
  • 全局锁(global locks)
  • 领导选择和集群状态(leadership selection and cluster state)
  • 分布式消息(distuributed messaging) Spring Cloud采用了声明性的方法,通常只需要更改类路径或添加一个注释即可获得许多功能。

3、Spring Cloud的模块

  Spring Cloud包含许多子项目,具体如下:

  • Spring Cloud Config:由git存储库支持的集中式外部配置管理。配置资源直接映射到Spring Environment,如果需要,可以有非Spring应用程序使用。
  • Spring Cloud Netflix:与各种Netflix OSS组件继承(Eureka、Hystrix、Zuul、Archaius等)
  • Spring Cloud Bus:事件总线,用分布式消息将服务和服务实例链接在一起。对于在整个集群中传播状态更改(例如配置更改事件)很有用。
  • Spring Cloud Cloudfoundry:将应用程序与Pivotal Cloud Foundry继承,提供服务发现实现,还可以轻松实现SSO和OAuth2保护的资源。
  • Spring Cloud Open Service Broker:为构建实现Open Service Broker API的服务代理提供起点。
  • Spring Cloud Cluster:Zookeeper、Redis、Hazelcast和Consul的领导层选举和通用状态模式抽象和实现。
  • Spring Cloud Consul:使用Hashicorp Consul进行服务发现和配置管理。
  • Spring Cloud Security:提供对负载均衡的OAuth2客户端和身份验证标头中继支持。
  • Spring Cloud Sleuth:用于Spring Cloud应用程序的分布式跟踪,与Zipkin、HTrace和基于日志跟踪兼容(例如ELK)。
  • Spring Cloud Data Flow:用于构建数据集成和数据处理管道(Pipelines)的工具包。
  • Spring Cloud Stream:轻量级的事件驱动型微服务框架,用于快速构建可以连接到外部系统的应用程序。在Spring Boot应用程序之间使用Apache Kafka或RabbitMQ发送和接收消息的简单声明性模型。
  • Spring Cloud Stream App Staters:基于Spring Boot的Spring Integration应用程序,可与外部系统集成。
  • Spring Cloud Task:目标是为Spring Boot应用程序提供创建短运行微服务的功能。
  • Spring Cloud Task App Staters:是SpringBoot应用程序,可以是任何进程,包括不会永远运行的Spring Batch作业,它们在有限的数据处理周期后结束/停止。
  • Spring Cloud Zookeeper:使用Apache Zookeeper进行服务发现和配置管理。
  • Spring Cloud CLI:Spring Boot CLI插件,用于在Groovy中快速创建Spring Cloud组件应用程序。
  • Spring Cloud Contract:为通过CDC(Customer Driven Contracts)开发基于JVM的应用提供支持,为TDD(测试驱动开发)提供一种新的测试方式,即基于接口。
  • Spring Cloud Gateway:Spring Cloud Gateway是基于Project Reactor的智能可编程路由器。
  • Spring Cloud OpenFeign:将OpenFeign集成到Spring Boot应用中的方式,为微服务架构下服务之间的调用提供了解决方案。
  • Spring Cloud Pipelines:提供一个可靠的部署管道,其中包含一些步骤,以确保应用程序可以零停机时间进行部署,并且可以轻松回滚某些错误。
  • Spring Cloud Function:通过功能促进业务逻辑的实现,支持五服务器提供商之间的统一编程模型以及独立运行(本地或Paas)的能力。

Netflix是一家做视频的网站,访问量非常大。也正是如此,Netflix开始把整体的系统往微服务上迁移。Netflix微服务大规模应用,在技术上毫无保留地把一整套微服务架构核心技术栈开源出来,叫做Netflix OSS,也正是如此,在技术上依靠开源社区的力量不断壮大。在Netflix开源的一整套核心技术产品线的基础上,做了一系列的封装,就变成了Spring Cloud。

4、版本选择

  • springcloud是一个由众多独立子项目组成的大型综合项目,原则每个子项目上有不同的发布节奏,都维护自己发布版本号。为了更好的管理springcloud的版本,通过一个资源清单BOM(Bill of Materials),为避免与子项目的发布号混淆,所以没有采用版本号的方式,而是通过命名的方式。这些名字是按字母顺序排列的。如伦敦地铁站的名称(“天使”是第一个版本,“布里斯顿”是第二个版本,"卡姆登"是第三个版本)。当单个项目的点发布累积到一个临界量,或者其中一个项目中有一个关键缺陷需要每个人都可以使用时,发布序列将推出名称以“.SRX”结尾的“服务发布”,其中“X”是一个数字。
  • 伦敦地铁站名称 [了解] Angel、Brixton、Camden、Dalston、Edgware、Finchley、Greenwich、Hoxton Spring Cloud与Spring Boot兼容的版本如下表所示。
在这里插入图片描述
在这里插入图片描述

5、Spring Cloud与Spring Boot的关系

  Spring Boot是Spring的一套快速配置脚手架,可以基于Spring Boot快速开发单个微服务,Spring Cloud是一个基于Spring Boot实现的云应用开发工具。Spring Boot专注于快速、方便集成的单个微服务个体,Spring Cloud关注全局的服务治理框架。Spring Boot使用了默认大于配置的理念,很多集成方案已经选好,能不配置就不配置,Spring Cloud很大的一部分是基于Spring Boot实现的。   Spring Boot可以离开Spring Cloud独立使用开发项目;但是Spring Cloud离不开Spring Boot,属于依赖的关系,如下图所示。

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-08-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • SpringCloud介绍
  • 1、简介
  • 2、Spring Cloud的特性
  • 3、Spring Cloud的模块
  • 4、版本选择
  • 5、Spring Cloud与Spring Boot的关系
相关产品与服务
负载均衡
负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档