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 整体架构
Service Provider: 暴露服务的服务提供方
Service Consumer: 调用远程服务的服务消费方
Eureka Server: 服务注册中心和服务发现中心