Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,均可以用Spring Boot的开发风格作到一键启动和部署。Spring并无重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,经过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。html
微服务的概念起源于: http://www.cnblogs.com/liuning8023/p/4493156.html(英文: https://martinfowler.com/articles/microservices.html)git
微服务架构模式的目的是将大型的,复杂的,长期运行的应用程序构建为一组相互配合的服务,每一个服务均可以很容易进行局部改良.微服务的意思是每一个服务应该足够小,小是指业务逻辑上的小.微服务的形象表示:spring
主要是下面内容:数据库
每一个模块又是由不一样组件结合来解决,其实学习Spring Cloud就是学会Spring Boot整合这些组件,学会使用,深刻理解就好.安全
Eureka是Netflix开源的一款提供服务注册和发现的产品,提供了完整的Service Registry 和 Service Discovery实现, 是Spring Cloud体系中最重要最核心的组件之一. Eureka至关于图书馆管理员,添加书须要到我这说一下,取书也获得我这报备.因此说Eureka在生产环境中通常是集群,至少两个,不然Eureka一旦挂掉将会影响整个服务.服务器
Eureka就自动具备注册中心,负载均衡,故障转移的功能.架构
熔断器,容错管理工具,旨在经过熔断机制控制服务和第三方节点,从而对延迟和故障提供更强大的容错能力.也就是微服务中多个服务层调用,基础服务的故障可能会致使级联故障,形成整个系统不可用,就是服务血崩效应,Hystrix就是在这种场景下来作故障隔离,Hystrix 会在某个服务连续调用 N 次不响应的状况下,当即通知调用端调用失败,避免调用端持续等待而影响了总体服务。Hystrix 间隔时间会再次检查此服务,若是服务恢复将继续提供服务。app
服务雪崩效应是一种因"服务提供者"不可用致使"服务消费者"的不可用,而且将不可用逐渐放大的过程.负载均衡
zuul路由也是微服务架构不可或缺的一部分,提供动态路由,监控,弹性,安全等的边缘服务.具体做用就是服务转发,接受并转发全部内外部的客户端调用,使用 Zuul 能够做为资源的统一访问入口. zuul至关于门卫,对请求进行一些校验等.框架
配置中心,把配置文件放在远程服务器,集中化管理集群配置,支持本地存储,git以及svn.
这个组件是解决分布式系统的配置管理方案,包含了client和server两个部分,Server 提供配置文件的存储、以接口的形式将配置文件的内容提供出去,Client 经过接口获取数据、并依据此数据初始化本身的应用。
当全部配置存储在配置中心时,配置中心也成为一个很重要的组件,因此通常也建议作集群,支持配置中心高可用.
事件,消息总线,用于在集群中传播状态变化,可与Spring Cloud Config联合支持热部署,也就是改变配置文件提交到版本库时,会自动触发对应实例的Refresh.
日志收集工具包,封装了Dapper和log-based追踪以及Zipkin和HTrace操做,为SpringCloud应用实现了一种分布式追踪解决方案。
还有更多的组件,使用的时候再说.
组件的配套使用
参考:纯洁的微笑(http://www.ityouknow.com/springcloud/2017/05/01/simple-springcloud.html) 和 Wind MT(https://windmt.com/2018/04/14/spring-cloud-0-microservices/)