什么是微服务
微服务是系统架构上的一种设计风格,主旨是讲一个原本独立的系统差分为多个小型的服务, 这些服务之间通过http 的restFull api 进行通信协作。
为什么选择spring cloud
在目前有这个和spring-cloud功能一样的其他的开源框架,例如dubbo, dubbox , 结合zookeeper 实现服务的发现与注册, 服务的分布式 但是随着spring cloud 不断的更新迭代 , 形成了一个完成的微服务的开发体系, 完全可以和dubbo媲美
-
spring cloud config : 配置管理工具, 支持git存储配置内容, 可以实现应用外部存储配置,实现外部通过客户端发起一个请求刷新更新我们 的应用的配置文件(结合spring cloud bus 消息总线 )
- spring cloud Netflix :
Eureka : 服务的治理, 注册中心实现服务的注册和发现
Hystryx: 容错管理组件, 微服务中出现请求延迟, 网络故障导致的无法请求 可以通过hystrix 进行容错处理
Ribbon: 客户端的负载均衡
Feign: 基于Ribbon 和Hystrix 的声明式的服务组件
Zuul: 网关组件, 提供智能路由,访问过滤的功能
Archaius : 外部配置组件 (没使用过) -
spring cloud bus : 消息事件总线, 传播集群中的消息
-
spring cloud Cluster: 针对Zookeeper, Redis , Consul 的选举算法和通用状态模式的实现。
-
spring cloud cloudFundary: 与Pivotal CloudFundary整合
-
spring aws: 整合amazon web service
-
spring cloud security :安全工具包
-
spring cloud sleuth : 访问路径的追踪 可以整合zipkin
-
spring cloud zookeeper : 基于zookeeper 的服务发现和管理组件
-
spring cloud starter: spring-cloud-X-starter 是spring boot 提供的整合好的pom包
- spring cloud cli : spring boot cli构建工具, 使用groovy创建spring cloud应用
版本说明
这是一个版本的列表:
Cloud代号 | Boot版本(train) | Boot版本(tested) | lifecycle |
---|---|---|---|
Angle | 1.2.x | incompatible with 1.3 | EOL in July 2017 |
Brixton | 1.3.x | 1.4.x 2017-07卒 | |
Camden | 1.4.x | 1.5.x - | |
Dalston | 1.5.x | not expected 2.x | - |
Edgware | 1.5.x | not expected 2.x | - |
Finchley | 2.x | not expected 1.5.x | - |
很有意思的是spring cloud 的版本是以伦敦地铁名称命名的, 字母的顺序为 A, B, C, D, E…..
SRX :代表service releases , x 代表数字 , SRX: 发型版本