Spring Cloud全家桶是Pivotal团队提供的一整套微服务开源解决方案,包括服务注册与发现、配置中心、全链路监控、服务网关、负载均衡、熔断器等组件。以上组件主要是通过对Netflix OSS套件中的组件整合而成的,该开源子项目叫作spring-cloud-netflix,
其中比较重要的组件有:

  • (1)spring-cloud-netflix-Eureka:注册中心。
  • (2)spring-cloud-netflix-hystrix:RPC保护组件。
  • (3)spring-cloud-netflix-ribbon:客户端负载均衡组件。
  • (4)spring-cloud-netflix-zuul:内部网关组件。

Spring Cloud全家桶技术栈除了对Netflix OSS的开源组件进行了整合之外,还整合了一些选型中立的开源组件。比如,Spring Cloud ZooKeeper组件整合了ZooKeeper,提供了另一种方式的服务发现和配置管理。

Spring Cloud架构中的单体业务服务基于Spring Boot应用。Spring Boot是由Pivotal团队提供的全新框架,它用于简化新Spring应用的初始搭建以及开发过程。

Spring Cloud和Spring Boot是什么关系呢?

  • (1)Spring Cloud利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发。
  • (2)Spring Boot专注于快速方便地开发单体微服务提供者,而Spring Cloud解决的是各微服务提供者之间的协调治理关系。
  • (3)Spring Boot可以离开Spring Cloud独立使用开发项目,但是Spring Cloud离不开Spring Boot,它依赖于Spring Boot而存在。

最终,Spring Cloud将Spring Boot开发的一个个单体微服务进行整合并管理起来,为各单体微服务提供配置管理、服务发现、熔断器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等基础的分布式协助能力。