2-1. Spring Cloud 是什么?

  • Spring Cloud是一个一站式的开发分布式系统的框架,为开发者提供了一系列的构建分布式系统的工具集
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见的工具(比如:配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分部署会话和集群状态管理等)。
  • 开发分布式系统都需要解决一系列共同关心的问题,而使用Spring Cloud可以快速地实现这些分布式开发共同关心的问题,并能方便地在任何分布式环境中部署与运行。
  • Spring Cloud 这个一站式地分布式开发框架,被今年来流行的“微服务”架构大力推崇,成为目前进行微服务架构的优先选择工具。
  • Spring Cloud是基于Spring Boot 框架构建微服务框架,学习Spring Cloud需要先学习Spring Boot。
  • Spring Cloud官网:http://spring.io

2-2. Spring Cloud的版本

   Spring Cloud最早是从2014年推出的,在推出的前期更新迭代速度非常快,频繁发布版本,目前更趋于稳定,变化稍慢一些。
   Spring Cloud的版本并不是传统的使用数字的方式标识,而是使用诸如:Angel、Brixton、Camde…等伦敦的地名来命名版本的,版本的先后顺序使用字母A-Z的先后来标识,现在已经进入F版本;
   Spring Cloud与Spring Boot版本匹配关系;

Finchley

兼容Spring Boot 2.0X 不兼容Spring Boot1.5X

Edgware

兼容Spring Boot 1.5X 不兼容Spring Boot2.0X

Dalston

兼容Spring Boot 1.5X 不兼容Spring Boot2.0X

Camden

兼容Spring Boot 1.4X 也兼容Spring Boot1.5X

Brixton

兼容Spring Boot 1.3X 也兼容Spring Boot1.4X

Angel

兼容Spring Boot 1.2X

   Spring Cloud并不是从0开始开发一整套微服务解决方案,而是集成各个开源软件,构成一整套的微服务解决方案,这其中有非常著名的Netflix公司的开源产品。

    Netflix公司成立于1997年,是目前美国最大的视频交易网站。

    Netflix公司在不断发展的过程中,也成为了一家云计算公司,并积极参与开源项目,Netflix OSS(open source)就是由Netflix公司主持开发的一套代码框架和库,GitHub地址:http://github.com/Netflix

    Spring Cloud 所包含的众多组件中,Spring Cloud Netflix就是其中一组不可忽视的组件,由netflix公司开发后又并入到Spring Cloud大家庭。
目前Netflix公司贡献的活跃项目包括:

  • spring-cloud-netflix-eureka
  • spring-cloud-netflix-hystrix
  • spring-cloud-netflix-stream
  • spring-cloud-netflix-archaius
  • spring-cloud-netflix-ribbon
  • spring-cloud-netflix-zuul

2-3. Spring Cloud开发环境

  • Spring Boot 2.0X
  • Spring Cloud Finchley RC2
  • Maven 3.5.3
  • JDK 1.8.152
  • IDEA

2-4. Spring Cloud 整体架构

分布式框架dubbo 分布式框架spring cloud_分布式


Service Provider: 暴露服务的服务提供方

Service Consumer: 调用远程服务的服务消费方

Eureka Server: 服务注册中心和服务发现中心