22 10 2019

Spring Cloud 简介

Spring Cloud 是一个基于 Spring Boot 实现的微服务架构开发工具,可以快速构建分布式系统中的某些常用模式,如配置管理、服务治理、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式回话和集群状态管理等等。Spring Cloud致力于为典型的用例和扩展机制提供良好的开箱即用体验,以涵盖其他用例。

Spring Cloud 全家桶

1.Spring Cloud Config

配置管理工具,支持使用 git 存储配置内容,可以使用它实现把配置存储在外部的远程服务器上,并支持客户端配置信息刷新、加密/解密配置内容等。方便统一管理、统一升级更新。

2.Spring Cloud Netflix

核心组件,对多个 Netflix OSS 开源套件进行整合。

  • Eureka

    服务治理组件,包含了服务注册中心、服务注册和服务发现机制的实现。
  • Hystrix

    容错管理组件,实现断路器模式,帮助服务依赖中心出现的延迟和故障提供强大的容错能力。
  • Zuul

    网关组件,提供智能路由、访问过滤等功能。它是基于JVM的路由器和服务器端负载均衡。
  • Archaius

    外部化配置组件,是所有Netflix OSS组件用于配置的库。它允许通过轮询源进行更改或将源更改推送到客户端来进行配置更新。

值得注意,官方已经将 Hystrix、Zuul、Archaius 等相关模块置于维护模式,这意味着不再向该模块添加新功能。 https://cloud.spring.io/spring-cloud-static/spring-cloud-netflix/2.2.0.M3/reference/html/#modules-in-maintenance-mode

3.Spring Cloud Bus

事件、消息总线,用于传播集群中的状态变化或事件,以触发后续的处理,比如用来动态刷新配置等。

4.Spring Cloud Cluster

针对 Zookeeper, Redis, Hazelcast, Consul 等常见状态模式的抽象和实现。

5.Spring Cloud Cloudfoundry

通过Oauth2协议绑定服务到CloudFoundry,CloudFoundry是VMware推出的开源PaaS云平台。

Cloud Foundry是业界第一个开源PaaS云平台,它支持多种框架、语言、运行时环境、云平台及应用服务,使开发人员能够在几秒钟内进行应用程序的部署和扩展,无需担心任何基础架构的问题。

6.Spring Cloud Consul

封装了Consul操作,consul是一个服务发现与配置工具,与Docker容器可以无缝集成。

Consul是基于GO语言开发的开源工具,主要面向分布式,服务化的系统提供服务注册、服务发现和配置管理的功能。Consul支持服务注册/发现、健康检查、Key/Value存储、多数据中心和分布式一致性保证等特性。

7.Spring Cloud Stream

数据流操作开发包,封装了与Redis,Rabbit、Kafka等发送接收消息。

8.Spring Cloud Security

安全工具包,提供 Zuul 代理中对 OAuth2 客户端请求的中继器。

9.Spring Cloud Sleuth

日志收集工具包,封装了Dapper和log-based追踪以及Zipkin和HTrace操作,为SpringCloud应用实现了一种分布式追踪解决方案。

10.Spring Cloud Data Flow

大数据操作工具,作为Spring XD的替代产品,它是一个混合计算模型,结合了流数据与批量数据的处理方式。

11.Spring Cloud Zookeeper

操作Zookeeper的工具包,用于使用zookeeper方式的服务发现和配置管理。

12.Spring Cloud Task

提供云端计划任务管理、任务调度。

13.Spring Cloud Connectors

便于云端应用程序在各种PaaS平台连接到后端,如:数据库和消息代理服务。

14.Spring Cloud Starters

Spring Boot式的启动项目,为Spring Cloud提供开箱即用的依赖管理。

15.Spring Cloud CLI

基于 Spring Boot CLI,可以让你以命令行方式快速建立云组件。

16.Spring Cloud Gateway

提供了一个用于在Spring MVC之上构建API网关的库,是基于Spring Boot 2.x, Spring WebFlux和Project Reactor 构建的。
Spring Cloud Gateway功能:

  • 建立在Spring Framework 5,Project Reactor和Spring Boot 2.0之上

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

  • 谓词和过滤器特定于路由。

  • Hystrix断路器集成。

  • Spring Cloud DiscoveryClient集成

  • 易于编写的谓词和过滤器

  • 请求速率限制

  • 路径改写

更多……

Spring Cloud 的优势

为什么我们要选择使用 Spring Cloud?

1.全面性, Spring Cloud 提供了微服务架构实施的综合性解决框架,不像其他一些框架只解决微服务中的某一个问题。

2.可靠性,Spring 背景强大,Spring Cloud 整合了诸多被广泛实践和证明过的框架作为实施的基础部件,又在该体系基础上创建了一些非常优秀的边缘组件。

3.便捷性,轻轻松松几行代码就完成了熔断、均衡负载、服务治理等各种平台功能,且开箱即用。

4.活跃性,很多国内外的技术公司都在贡献着他们的智慧,如国内alibaba等。而且 Spring Cloud 作为当今热门,教程也是非常丰富,遇到问题也容易找到解决方案。

5.低成本性,对于很多中小型企业来说,如果自己去构建和维护一套微服务架构,需要考虑的设计和成本并不小,且不一定有这个实力,而 Spring Cloud 的一站式解决方案大大减少了这方面的成本。

文档

spring官网:https://spring.io/projects/spring-cloud

中文网:https://www.springcloud.cc/

延伸阅读
  1. Spring Cloud(二):Eureka 服务注册中心
  2. Spring Cloud(一):入门篇
发表评论