今天是:
带着程序的旅程,每一行代码都是你前进的一步,每个错误都是你成长的机会,最终,你将抵达你的目的地。
title

Spring Cloud 概述

SpringCloud 是什么

SpringCloud是分布式微服务架构下的一站式解决方案,越来的越多的企业在开发过程中从单一系统过度到多个微小系统,即微服务。微服务技术越来越火爆,通过将单一系统拆分成多个较小的专业的服务,可以达到与其他系统解耦,维护更加方便,构建高可用服务。SpringCloud基于SpringBoot提供了一套微服务解决方案,包括服务注册与发现,配置中心,全链路监控,服务网关,负载均衡,熔断器等组件等。相比于Dubbo分布式架构SpringCloud支持更多的组件来构建分布式微服务。

SpringCloud 架构图

SpringCloud 主要子项目

  1. Spring Cloud Config--由git存储库支持的集中式外部配置管理。配置资源直接映射到Spring Environment,但是如果需要,可以由非Spring应用程序使用。
  2. Spring Cloud Netflix--与各种Netflix OSS组件(Eureka,Hystrix,Zuul,Archaius等)集成。
  3. Spring Cloud Bus--事件总线,用于将服务和服务实例与分布式消息传递链接在一起。对于在群集中传播状态更改(例如配置更改事件)很有用。
  4. Spring Cloud Cloudfoundry--将您的应用程序与Pivotal Cloud Foundry集成。提供服务发现实现,还可以轻松实现受SSO和OAuth2保护的资源。
  5. Spring Cloud Open Service Broker--为构建实现Open Service Broker API的服务代理提供起点。
  6. Spring Cloud Cluster--集群,Zookeeper,Redis,Hazelcast,Consul的领导选举和常见状态模式以及抽象和实现。
  7. Spring Cloud Consul--使用Hashicorp Consul进行服务发现和配置管理。
  8. Spring Cloud Security--为Zuul代理中的负载平衡的OAuth2其余客户端和身份验证标头中继提供支持。
  9. Spring Cloud Sleuth--用于Spring Cloud应用程序的分布式跟踪,与Zipkin,HTrace和基于日志的(例如ELK)跟踪兼容。
  10. Spring Cloud Data Flow--针对现代运行时可组合微服务应用程序的云原生编排服务。易于使用的DSL,拖放式GUI和REST-API共同简化了基于微服务的数据管道的总体编排。
  11. Spring Cloud Stream--轻量级的事件驱动微服务框架,用于快速构建可以连接到外部系统的应用程序。在Spring Boot应用程序之间使用Apache Kafka或RabbitMQ发送和接收消息的简单声明性模型。
  12. Spring Cloud Stream Applications--Spring Cloud Stream应用程序是开箱即用的Spring Boot应用程序,使用Spring Cloud Stream中的绑定程序抽象提供与外部中间件系统(例如Apache Kafka,RabbitMQ等)的集成。
  13. Spring Cloud Task--一个短暂的微服务框架,可快速构建执行有限数量数据处理的应用程序。用于向Spring Boot应用程序添加功能和非功能功能的简单声明。
  14. Spring Cloud Task App Starters--Spring Cloud Task App Starters是Spring Boot应用程序,可以是任何进程,包括不会永远运行的Spring Batch作业,它们在有限的数据处理周期后结束/停止。
  15. Spring Cloud Zookeeper--使用Apache Zookeeper进行服务发现和配置管理。
  16. Spring Cloud Connectors--使各种平台上的PaaS应用程序轻松连接到后端服务,例如数据库和消息代理(该项目以前称为“ Spring Cloud”)。
  17. Spring Cloud Starters--Spring Boot风格的启动程序项目可简化Spring Cloud使用者的依赖关系管理。 (在Angel.SR2之后停产,并与其他项目合并。)
  18. Spring Cloud CLI--Spring Boot CLI插件,用于在Groovy中快速创建Spring Cloud组件应用程序。
  19. Spring Cloud Contract--Spring Cloud Contract是一个涵盖项目的总体解决方案,可帮助用户成功实施“消费者驱动合同”方法。
  20. Spring Cloud Gateway--网关,Spring Cloud Gateway是基于Project Reactor的智能可编程路由器。
  21. Spring Cloud OpenFeign--Spring Cloud OpenFeign通过自动配置并绑定到Spring Environment和其他Spring编程模型习惯用法,为Spring Boot应用程序提供集成。
  22. Spring Cloud Pipelines--Spring Cloud Pipelines提供了一个可靠的部署管道,其中包含一些步骤,以确保您的应用程序可以零停机时间进行部署,并且可以轻松回滚某些错误。
  23. Spring Cloud Function--Spring Cloud Function通过功能促进业务逻辑的实现。它支持跨无服务器提供程序的统一编程模型,以及独立运行(本地或在PaaS中)的功能。

可以看到springcloud生态圈包含诸多的子项目。

SpringCloud 版本管理

spring cloud 的版本管理比较特殊,不是我们常见项目版本,如 Hoxton,Greenwich,Finchley,后面在加.SR10这样的字母符号才是Spring Cloud的版本,前面的Hoxton这些是伦敦地铁站的名字,   为什么要采用这样的版本管理呢,可能是Spring Cloud生态圈下有诸多的子项目,而这些项目都有自己的版本好,为了不予Spring Cloud的大版本混淆。也可能有其他的原因。

分享到:

专栏

类型标签

网站访问总量