SpringCloud简介以及相关组件

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
注册配置 MSE Nacos/ZooKeeper,118元/月
网络型负载均衡 NLB,每月750个小时 15LCU
简介: Spring→SpringBoot→SpringCloudSpring是一个轻量级的Java开发框架,它能使用基本的JavaBean代替EJB。SpringBoot是由Pivotal团队提供的全新框架,用来简化新Spring应用的初始搭建和开发过程。

Spring→SpringBoot→SpringCloud

Spring是一个轻量级的Java开发框架,它能使用基本的JavaBean代替EJB
SpringBoot是由Pivotal团队提供的全新框架,用来简化新Spring应用的初始搭建和开发过程。开发人员无需定义样板化配置。
SpringCloud是一系列框架的有序集合,它把好的东西集合到一起,这就是所谓的集大成者。同时它利用SpringBoot的开发便利性巧妙的简化了分布式系统基础设施的开发。

Pivotal公司官网:https://pivotal.io/

什么是SpringCloud

SpringCloud是一个微服务框架,相比Dubbo等RPC框架, SpringCloud提供的全套的分布式系统解决方案。

SpringCloud相关组件

上面说到SpringCloud是一系列框架的集合,这一系列框架包括什么呢?

Spring Cloud Eureka:一个基于rest服务的服务治理组件,包括服务注册中心、服务注册与服务发现机制的实现,实现了云端负载均衡和中间层服务器的故障转移。
Spring Cloud Hystrix:容错管理工具,实现断路器模式,通过控制服务的节点,从而对延迟和故障提供更强大的容错能力。
Spring Cloud Ribbon:客户端负载均衡的服务调用组件。提供云端负载均衡,有多种负载均衡策略可供选择,可配合服务发现和断路器使用。
Spring Cloud Feign:基于RibbonHystrix的声明式服务调用组件。Feign是一种声明式、模板化的HTTP客户端。
Spring Cloud Zuul:云平台上提供动态路由,监控,弹性,安全等边缘服务的框架。相当于是设备和 Netflix 流应用的 Web 网站后端所有请求的前门。
Spring Cloud Turbine:Turbine是聚合服务器发送事件流数据的一个工具,用来监控集群下hystrix的metrics情况。
Spring Cloud Netflix Archaius:配置管理API,包含一系列配置管理API,提供动态类型化属性、线程安全配置操作、轮询框架、回调机制等功能。
Spring Cloud Config: 配置管理工具包,让你可以把配置放到远程服务器,几种化管理集群配置,目前支持本地存储,Git以及Subversion
Spring Cloud Bus消息总线(一种通信工具,可以在机器之间互相传输消息、文件等。消息总线扮演着一种消息路由的角色,拥有一套完备的路由机制来决定消息传输方向。发送段只需要向消息总线发出消息而不用管消息被如何转发)
通过轻量消息代理连接各个分布的节点。管理和传播所有分布式项目中的消息,本质是利用了MQ的广播机制在分布式的系统中传播消息,用于在集群(例如,配置变化事件)中传播状态变化,可与Spring Cloud Config联合实现热部署。
目前常用的有KafkaRabbitMQ
RabbitMQ官网地址:http://www.rabbitmq.com/
Kafka官网地址:http://kafka.apache.org/
Spring Cloud Consul:由HashiCorp公司开发,是一个服务发现与配置工具,与Docker容器可以无缝集成。
hashicorp官网地址:https://www.hashicorp.com/
Consul官网地址:https://www.consul.io/
Spring Cloud Zookeeper:操作Zookeeper的工具包,用于使用zookeeper方式的服务发现和配置管理。
Zookeeper官网地址:https://zookeeper.apache.org/
Spring Cloud Security:基于spring security的安全工具包,为你的应用程序添加安全控制。
Spring Cloud Stream:数据流操作开发包,封装了与Redis,RabbitMQKafka等发送接收消息。
Spring Cloud Sleuth:日志收集工具包,封装了Dapperlog-based追踪以及Zipkin
HTrace操作,为SpringCloud应用实现了一种分布式追踪解决方案。
Spring Cloud Data Flow:大数据操作工具,作为Spring XD的替代产品,它是一个混合计算模型,结合了流数据与批量数据的处理方式。是构建数据集成和实时数据处理流水线的工具包。
Spring Cloud Task:提供云端计划任务管理、任务调度。
Spring Cloud Connectors:便于云端应用程序在各种PaaS平台连接到后端,如:数据库和消息代理服务。
Spring Cloud Cluster:提供Leadership选举,如:Zookeeper, Redis, Hazelcast, Consul等常见状态模式的抽象和实现。
Hazelcast 是由Hazelcast公司开发和维护的开源产品,可以为基于jvm环境运行的各种应用提供分布式集群和分布式缓存服务。
Hazelcast官网地址:https://hazelcast.com/
Spring Cloud for Cloud Foundry:将您的应用程序与Pivotal Cloudfoundry集成。 提供服务发现实现,并且还可以轻松实现SSOOAuth2保护的资源,还可以创建Cloudfoundry服务代理。CloudFoundry是VMware推出的开源PaaS云平台。
CloudFoundry官网地址:https://www.cloudfoundry.org/
Spring Cloud CLI:基于 Spring Boot CLI,可以让你以命令行方式快速建立云组件。
附上两张图:

32293-41122dcdb3f3aeef.png

20170428171552881.png

SpringCloud的版本

从下Angel到上Finchley可以看出,版本的第一个字母是按照A-Z顺序编排的。
官方说明是这些版本号的单词来自于英国伦敦的地铁站站名。

Spring Cloud版本演进情况如下:

QQ截图20180612214728.png

Spring Cloud与Spring Boot版本匹配关系

QQ截图20180612214743.png

从上面可以看出,SpringCloud版本不是向下兼容的,最新版的SpringCloud版本不能兼容旧版的SpringBoot,所以在使用的时候记得看清楚版本

目录
相关文章
|
2月前
|
XML 监控 Java
Spring Cloud全解析:熔断之Hystrix简介
Hystrix 是由 Netflix 开源的延迟和容错库,用于提高分布式系统的弹性。它通过断路器模式、资源隔离、服务降级及限流等机制防止服务雪崩。Hystrix 基于命令模式,通过 `HystrixCommand` 封装对外部依赖的调用逻辑。断路器能在依赖服务故障时快速返回备选响应,避免长时间等待。此外,Hystrix 还提供了监控功能,能够实时监控运行指标和配置变化。依赖管理方面,可通过 `@EnableHystrix` 启用 Hystrix 支持,并配置全局或局部的降级策略。结合 Feign 可实现客户端的服务降级。
144 23
|
25天前
|
负载均衡 Java API
【Spring Cloud生态】Spring Cloud Gateway基本配置
【Spring Cloud生态】Spring Cloud Gateway基本配置
31 0
|
3月前
|
负载均衡 监控 Java
SpringCloud常见面试题(一):SpringCloud 5大组件,服务注册和发现,nacos与eureka区别,服务雪崩、服务熔断、服务降级,微服务监控
SpringCloud常见面试题(一):SpringCloud 5大组件,服务注册和发现,nacos与eureka区别,服务雪崩、服务熔断、服务降级,微服务监控
SpringCloud常见面试题(一):SpringCloud 5大组件,服务注册和发现,nacos与eureka区别,服务雪崩、服务熔断、服务降级,微服务监控
|
4月前
|
资源调度 Java 调度
Spring Cloud Alibaba 集成分布式定时任务调度功能
Spring Cloud Alibaba 发布了 Scheduling 任务调度模块 [#3732]提供了一套开源、轻量级、高可用的定时任务解决方案,帮助您快速开发微服务体系下的分布式定时任务。
14834 26
|
3月前
|
Java Spring
【Azure Spring Cloud】Spring Cloud Azure 4.0 调用Key Vault遇见认证错误 AADSTS90002: Tenant not found.
【Azure Spring Cloud】Spring Cloud Azure 4.0 调用Key Vault遇见认证错误 AADSTS90002: Tenant not found.
|
4月前
|
负载均衡 Java Spring
Spring cloud gateway 如何在路由时进行负载均衡
Spring cloud gateway 如何在路由时进行负载均衡
458 15
|
3月前
|
Java Spring 容器
【Azure Spring Cloud】在Azure Spring Apps上看见 App Memory Usage 和 jvm.menory.use 的指标的疑问及OOM
【Azure Spring Cloud】在Azure Spring Apps上看见 App Memory Usage 和 jvm.menory.use 的指标的疑问及OOM
|
3月前
|
存储 Java Spring
【Azure Spring Cloud】Azure Spring Cloud服务,如何获取应用程序日志文件呢?
【Azure Spring Cloud】Azure Spring Cloud服务,如何获取应用程序日志文件呢?
|
3月前
|
SQL Java 数据库连接
【Azure Spring Cloud】Azure Spring Cloud connect to SQL using MSI
【Azure Spring Cloud】Azure Spring Cloud connect to SQL using MSI
|
3月前
|
Java 开发工具 Spring
【Azure Spring Cloud】使用azure-spring-boot-starter-storage来上传文件报错: java.net.UnknownHostException: xxxxxxxx.blob.core.windows.net: Name or service not known
【Azure Spring Cloud】使用azure-spring-boot-starter-storage来上传文件报错: java.net.UnknownHostException: xxxxxxxx.blob.core.windows.net: Name or service not known