SpringCloud简介以及相关组件

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 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,所以在使用的时候记得看清楚版本

目录
相关文章
|
30天前
|
负载均衡 Java API
Spring Cloud 面试题及答案整理,最新面试题
Spring Cloud 面试题及答案整理,最新面试题
132 1
|
30天前
|
Java Nacos Sentinel
Spring Cloud Alibaba 面试题及答案整理,最新面试题
Spring Cloud Alibaba 面试题及答案整理,最新面试题
138 0
|
1月前
|
SpringCloudAlibaba Java 持续交付
【构建一套Spring Cloud项目的大概步骤】&【Springcloud Alibaba微服务分布式架构学习资料】
【构建一套Spring Cloud项目的大概步骤】&【Springcloud Alibaba微服务分布式架构学习资料】
131 0
|
1月前
|
SpringCloudAlibaba Java 网络架构
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
81 0
|
2天前
|
负载均衡 Java 开发者
细解微服务架构实践:如何使用Spring Cloud进行Java微服务治理
【4月更文挑战第17天】Spring Cloud是Java微服务治理的首选框架,整合了Eureka(服务发现)、Ribbon(客户端负载均衡)、Hystrix(熔断器)、Zuul(API网关)和Config Server(配置中心)。通过Eureka实现服务注册与发现,Ribbon提供负载均衡,Hystrix实现熔断保护,Zuul作为API网关,Config Server集中管理配置。理解并运用Spring Cloud进行微服务治理是现代Java开发者的关键技能。
|
3天前
|
Java API 对象存储
对象存储OSS产品常见问题之使用Spring Cloud Alibaba情况下文档添加水印如何解决
对象存储OSS是基于互联网的数据存储服务模式,让用户可以安全、可靠地存储大量非结构化数据,如图片、音频、视频、文档等任意类型文件,并通过简单的基于HTTP/HTTPS协议的RESTful API接口进行访问和管理。本帖梳理了用户在实际使用中可能遇到的各种常见问题,涵盖了基础操作、性能优化、安全设置、费用管理、数据备份与恢复、跨区域同步、API接口调用等多个方面。
22 2
|
17天前
|
负载均衡 网络协议 Java
构建高效可扩展的微服务架构:利用Spring Cloud实现服务发现与负载均衡
本文将探讨如何利用Spring Cloud技术实现微服务架构中的服务发现与负载均衡,通过注册中心来管理服务的注册与发现,并通过负载均衡策略实现请求的分发,从而构建高效可扩展的微服务系统。
|
17天前
|
开发框架 负载均衡 Java
Spring boot与Spring cloud之间的关系
总之,Spring Boot和Spring Cloud之间的关系是一种构建和扩展的关系,Spring Boot提供了基础,而Spring Cloud在此基础上提供了分布式系统和微服务架构所需的扩展和工具。
16 4
Spring boot与Spring cloud之间的关系
|
1月前
|
SpringCloudAlibaba 负载均衡 Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(目录大纲)
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(目录大纲)
61 1
|
1月前
|
Java Nacos Sentinel
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(九)Nacos+Sentinel+Seata
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(九)Nacos+Sentinel+Seata
185 0