SpringCloud初步了解

什么是微服务

微服务是系统架构上的一种设计风格,主旨是讲一个原本独立的系统差分为多个小型的服务, 这些服务之间通过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: 发型版本