上期文章我们介绍了混合云,以及在实际操作中我们常见的几种混合云模式。今天我们来聊一聊 Spring Cloud 如何解决应用层的云架构问题。
对于 Spring Cloud,你大概不会陌生,它跟 Spring 生态中的另一个开源项目 Spring Boot,基本上已经成为国内绝大多数公司向微服务架构转型时的首选开发框架。
Spring Boot 可以支持快速开发单个微服务应用,Spring Cloud 则提供一系列的服务治理框架,比如服务注册、服务发现、动态路由、负载均衡以及熔断等等能力,可以将一个个独立的微服务作为一个整体,进行很好的管理和维护。
从业界实际使用情况和反馈来看,由于两者完美的搭配,Spring Cloud 和 Spring Boot 确实是可以通过相对较低的技术成本,让开发人员方便快速地搭建起一套分布式应用系统,从而进行高效的业务开发。
同时,优秀的服务治理能力,也为其后续在稳定性保障工作方面打下了不错的基础。
(注:因为 Spring Cloud 必须基于 Spring Boot 框架才能发挥它的治理能力,所以下面我们提到的 Spring Cloud 是默认包含了 Spring Boot 框架的。)
所以,通常我们更多地是把 Spring Cloud 作为微服务应用层面的开发框架,帮助我们提升开发效率。看起来,它貌似跟“云”这个概念没有什么直接关系。
而实际上,在将应用与云平台连接方面,Spring Cloud 也发挥着非常核心的作用。这也是为什么本期文章的标题没有直接定义为微服务治理架构,而是面向应用层的云架构。
下面我们具体来看看。
Spring Cloud 框架中云的影子
目前整个 Spring 生态是由 Pivotal 这家商业公司在主导,但是 Pivotal 更大的目标是要为客户提供云上的端到端的解决方案。
所以 Pivotal 最早提出了 Cloud-Native(云原生)的概念,或者说是一种理念,目的是帮企业提供云上业务端到端的技术解决方案,全面提升软件交付效率,降低运维成本。简单来说,就是除了业务解决方案和代码,其它事情都可以交给平台处理。
基于这样的理念,Pivotal 打造了自己的云原生解决方案 PCF(Pivotal Cloud Foundry),包括多云和跨云平台的管理、监控、发布,以及基础的 DB、缓存和消息队列等等,一应俱全。
我们可以看到,在 PCF 整体解决方案中,Spring 生态是向用户的业务应用层架构拓展的非常重要的一环,帮助其进行高效的业务开发,并提供后续的稳定性保障。

所以,这个时候,Spring Cloud 除了提供微服务治理能力之外,还成为了微服务应用与云平台上各项基础设施和基础服务之间的纽带,并在其中起到了承上启下的关键作用。