微框架不归路之一,springCloud 简介

   要说springCloud,就要先介绍一下微服务,因为springCloud是spring为微服务架构思想做的一个一站式的实现。

简单来说,微服务是一个概念,是一个项目开发的架构思想,springCloud只是其的一种java的实现。

如果复杂来说,我就说不上来了,为了弥补现有架构的不足而发展出来的一种架构吧。

微服务:

    一种可以让软件职责单一,松耦合,自包含,可以独立运行部署的架构思想。

上面说过了,它就是为了弥补原有系统架构的不足,而产生的一种架构思想。

微服务架构实施要解决的问题:

    

问题解决方案
服务治理阿里巴巴的Dubbo,当当在其基础上扩展的DubboX,Netflix的Eureka,Apache的Consul
分布式配置管理   百度的Disconf,Netflix的Archaius,360的QConf,SpringCloud的Config,淘宝的Diamond 
批量任务当当的Elastic-Job,LinkedIn的Azkaban,SpringCloud的Task
服务跟踪京东的Hydra,SpringCloud的sleuth,Twitter的Zipkin等
....... 

SpringCloud:

    springCloud 是微服务的一种具体实现方式,springCloud是基于SpringBoot实现的云应用开发工具,

springCloud包含了很多个子项目:

springCloud config :配置管理工具,支持Git存储配置内容,实现外部存储,支持支客户端配置信息刷新,加密 解密配置内容。

SpringCloud Netflix: 核心组件,包括以下:

        Eureka: 服务治理组件,包括服务注册中心,服务注册和发现机制的实现。

       HyStrix:容错管理组件,实现断路器模式,帮助服务依赖中的出现的延迟和人为故障提供强大的容错能力。

       Ribbon:客户端负载均衡的服务调用组件。、

       Feign: 基于Ribbon和HyStrix的声明式服务调用组件

        Zuul: 网关组件,提供智能路由,访问过滤等功能。

        Archaius: 外部配置组件

 Spring Cloud  Bus ,事件,消息总线,用于传播集群中的状态变化或事件,以触发后续的处理,如果用来动态刷新配置。

 SpringCluster:针对Zookeeper,Redis,Consul的选举算法和通用状态模式的实现。

SpringCloud Cloudfoundry: 与Pivotal CloudFoundry的整合支持

SpringCloud Stream: 通过Redis,Rabbit或者Kafka实现的消费微服务,可以通过简单的声明式模型来发送和接收消息。

Spring Cloud AWS: 用于简化整合Amazon web service的组件。

SpringCloud Security: 安全工具包,提供在Zuul代理中对Oauth2客户端请求的中继器。

Spring Cloud Sleuth: spring Cloud 应用的分布式服务跟踪实现,可以完美整合Zipkin,

SpringCloud Zookeeper基于Zookeeper的服务发现与配置管理组件。

SpringCloudStarters: Spring Cloud 的基础组件,它是基于SpringBoot峰哥项目的基础依赖模块。

SpringCloud CLI:用于在Groovy中快速创建SpringCloud应用的SpringBootCLI插件。

........

好了,以上就是SpringCloud 的一小部分子项目了,要学习SPringCLoud,还要稍加注意一下一下内容:

springCloud的版本号

SpringCloud的版本名和Spring的是完全不一样的。

SpringCLoud的版本都会包含多个不同版本的子项目,每个子项目都通过命名的方式来记录。目前这个RELEASE版本名都是用的伦敦的地铁站的名字,比如:Angel,Brixton,C...,D....,E.....。具体的每个版本用的SRX来标记的。SR1,SR2,SR3,SR4......


由于Spring版本不一致会导致很多的奇葩问题。所以要注意下,SpringCLoud的版本号。











                

posted @ 2018-03-28 20:14  方家小白  阅读(36)  评论(0编辑  收藏  举报