一.Spring Cloud 简介
SpringCloud是一个机遇SpringBoot实现的微服务框架开发工具,它为微服务架构中涉及的配置管理,服务治理,断路器,智能路由,微代理,控制总线,全局锁,决策竞选,分布式会话和集群状态管理等操作提供了一种简单的开发方式;
-
Spring Cloud Config : 配置管理工具 支持使用Git存储配置内容,实现应用配置的外部化存储,并支持客户端配置信息刷新、加解密配置等内容;
-
Spring Cloud Netflix : 核心组件,对多个Netflix OSS开源套件进行整合;
- Eureka : 服务治理组件,包含服务注册中心、服务注册与发现机制实现;
- Hystrix : 容错管理组件,实现断路器模式,为服务依赖中出现的延迟和故障提供强大的容错能力;
- Ribbon : 客户端负载均衡的服务调用组件;
- Feign : 基于Ribbon和Hystrix的声明式服务调用组件;
- Zuul : 网关组件,提供智能路由,访问过滤等功能;
- Archaius : 外部化配置组件
-
Spring Cloud Bus : 事件消息总线,用于传播集群中的状态变化或事件,以触发后续处理,如动态刷新配置等;
-
Spring Cloud Cluster :针对Zookeeper、Redis、Hazelcast、Consul的选举算法和通用状态模式的实现;
-
Spring Cloud Cloudfoundry : 与Pivotal Cloudfoundry的整合支持;
-
Spring Cloud Consul :服务发现与配置管理工具;
-
Spring Cloud Stream : 通过Redis、Rabbit或者Kafka实现消息微服务,通过简单的声明式模型来发送和接收消息;
-
Spring Cloud AWS : 简化整合Amazon Web Service的组件;
-
Spring Cloud Security : 安全工具包,提供在Zuul代理中对OAuth2客户端请求的中继器;
-
Spring Cloud Sleuth : springcloud应用分布式跟踪实现,完美整合Zipkin;
-
Spring Cloud Zookeeper : 基于Zookeeper的服务发现与管理组件;
-
Spring Cloud Starters : SpringCloud 的基础组件,基于SpringBoot风格项目的基础依赖;
-
Spring Cloud CLI : 用于在Groovy中快速创建Spring Cloud 应用的SpringBoot CLI插件
… …
二.快速开始
以下为Spring Cloud 各模块组件的快速使用,不涉及实现源码的分析,后续可能会开放第三标题;
三.源码分析
随着时间推移,会有不同的理解,下面内容会及时更新;