聊完Spring Boot,咱们来看看Spring Boot最重要的一方面的应用——Spring Cloud。
再聊SpringCloud以前咱们先聊聊微服务。spring
微服务(Micro Service):微服务是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被 独立部署,各个微服务之间是 松耦合的。每一个微服务仅关注于完成 一件任务并很好地完成该任务。在全部状况下,每一个任务表明着一个小的业务能力。
说完了什么是微服务,咱们在开来看Spring Cloud。安全
提到spring Cloud 你们可能觉得他是和云计算相关的框架。其实不是,Spring Cloud是一套用于微服务的、简单易懂、易部署和易维护的分布式系统开发工具包。
它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,均可以用Spring Boot的开发风格作到一键启动和部署。服务器
具体的实现流程以下:架构
假如说用户但愿调用一下微服务A,微服务A又会调用微服务B,微服务B又会去调用微服务C,这时候微服务C出现故障,不能被使用了,若是没有Hystrix,微服务B全部的调用微服务C的线程都会阻塞,直到把微服务B给拖垮,微服务B一挂,那么微服务A和微服务Y也就挂了。最后微服务X也挂了。这就是雪崩效应。Hystrix就是用来解决这个问题的,假若有了Hystrix,微服务B在调用微服务C出现问题,线程并不会一直等待,而是直接调用微服务B的一个CallBack的回调方法,直接给微服务A返回一个错误消息。再过一段时间以后,微服务B会再次尝试调用微服务C看微服务C是否已经恢复。这就给了整个微服务的集群一个自我恢复的能力。负载均衡
固然Spring Cloud不单单只有这几个工具,其余更有用的工具要靠你们本身发掘了。框架