概述
Spring Cloud给开发者提供一套按照一定套路快速开发分布式工具。它为微服务架构中涉及**配置管理,服务治理,断路器,智能路由,微代理,控制总线,全局锁,分布式会话和集群状态等操作提供了一种简单的开放方式。
SpringCloud组成
Spring Cloud 1.xxx版本和Spring Cloud 2.xxx版本中,其中在Spring Cloud Netflix核心组件的依赖标识名发生了变化。
1:Spring Cloud Config
分布式配置管理,支持使用Git存储配置内容,可以使用它实现应用配置的外部化存储,并支持客户端配置信息刷新,加密/加密配置内容等。
2:Spring Cloud Netflix核心组件
Eureka 服务治理组件,包含服务注册中心,服务注册与发现机制的实现。(服务治理,服务注册/发现)
Hystrix 容错管理逐渐,实现断路器模式,帮助服务以来中出现的延迟和为故障提供强大的容错能力。(熔断、断路器,容错)
Ribbon 客户端负载 均和的服务调用组件(客户端负载)
Feigin 给予Ribbon和Hystrix的声明式服务调用组件 (声明式服务调用)
Zuul 网关组件,提供智能路由,访问过滤功能
3:Spring Cloud Bus:消息总线
4:Spring Cloud Sleuth:分布式跟踪实现,可以完美整合Zipkin
5:Spring Cloud Security:安全工具包,提供在Zuul代理中的OAuth2客户端请求的中继器
6:Spring Cloud Zookeeper:Zookeeper的服务发现与配置管理组件
7:Spring Boot Admin:微服务监控UI页面
8:Spring Cloud Stream:通过Redis,Rabbit或者Kafka实现消费微服务,可以通过简单的声明式模型发送和接收消息。消息微服务驱动
Spring Cloud 1.xxx和Spring Cloud 2.xxx中Netflix组件版本依赖变化
1.xxx版本
<!--Eureka服务治理组件-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
<!--断路器组件-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-hystrix</artifactId>
</dependency>
<!--声明式服务调用-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-feign</artifactId>
</dependency>
<!--负载均衡组件-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-ribbon</artifactId>
</dependency>
<!--智能路由组件-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zuul</artifactId>
</dependency>
2.xxx版本
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>2.xxx版本和1.xxx版本加上了netflix。