参考链接

http://www.importnew.com/28514.html 从 Spring Cloud 看一个微服务框架的「五脏六腑」
https://www.cnblogs.com/xiaojunbo/p/7090742.html 【微服务架构】SpringCloud组件和概念介绍(一)
https://www.cnblogs.com/softidea/p/6792721.html Spring cloud整体框架
1.Spring boot:《如何用IDEA创建第一个Spring Boot项目》https://blog.csdn.net/soldier_123/article/details/78966185
2.关于Spring Cloud学习资料:《Spring Cloud基础教程》http://blog.didispace.com/Spring-Cloud基础教程/
如果打不开,尝试打开《推荐几个Spring Cloud学习资料》https://blog.csdn.net/u012702547/article/details/77982571/ 该链接下“Spring Cloud基础教程”。
SpringCloud(十):声明式REST客户端:Feign
https://blog.csdn.net/qwlzxx/article/details/77124590?foxhandler=RssReadRenderProcessHandler
https://blog.csdn.net/qq_36637705/article/details/78530442


组件

Eureka 服务发现
Zuul 2.0 智能路由、访问过滤
Ribbon 客户端负载均衡器
Feign 声明式REST客户端
spring cloud gateway Spring 官方的服务发现系统
Consul
Turbine:集群监控
Hystrix:断路器


Spring Cloud

Spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用开发中涉及的配置管理、
服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等操作提供了一种简单的开发方式。
什么是“微服务架构”呢?简单的说,微服务架构就是将一个完整的应用从数据存储开始垂直拆分成多个不同的服务,
每个服务都能独立部署、独立维护、独立扩展,服务与服务间通过诸如RESTful API的方式互相调用。
由于Spring Cloud为服务治理做了一层抽象接口,所以在Spring Cloud应用中可以支持多种不同的服务治理框架,比如:Netflix Eureka、Consul、Zookeeper。
在Spring Cloud服务治理抽象层的作用下,我们可以无缝地切换服务治理实现,并且不影响任何其他的服务注册、服务发现、服务调用等逻辑。

Spring Cloud Eureka

Spring Cloud Eureka是Spring Cloud Netflix项目下的服务治理模块:
它主要提供的模块包括:服务发现(Eureka),断路器(Hystrix),智能路由(Zuul),客户端负载均衡(Ribbon)等
服务端 注册中心 _@_EnableEurekaServer
客户端 @EnableDiscoveryClient 激活Eureka中的DiscoveryClient实现,这样才能实现Controller中对服务信息的输出。
_@_FeignClient
_@_RestController 声明这个类提供Rest类型的接口?


Consul

http://blog.cxiangnet.cn/2018/04/10/consul-介绍/ Consul 介绍
Consul是一个分布式高可用的系统,它包含多个组件,但是作为一个整体,在微服务架构中为我们的基础设施提供服务发现和服务配置的工具。
它包含了下面几个特性:
服务发现
健康检查
Key/Value存储
多数据中心
前文我们已经有提到过服务发现的接口DiscoveryClient是Spring Cloud对服务治理做的一层抽象,
所以可以屏蔽Eureka和Consul服务治理的实现细节,我们的程序不需要做任何改变,
只需要引入不同的服务治理依赖,并配置相关的配置属性就能轻松的将微服务纳入Spring Cloud的各个服务治理框架中
LoadBalancerClient 这是一个负载均衡客户端的抽象定义

Ribbon

Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具。
它是一个基于HTTP和TCP的客户端负载均衡器。
它可以通过在客户端中配置ribbonServerList来设置服务端列表去轮询访问以达到均衡负载的作用。

Feign

基于Netflix Feign实现的声明式服务调用客户端。它使得编写Web服务客户端变得更加简单。
我们只需要通过创建接口并用注解来配置它既可完成对Web服务接口的绑定
由于Feign是基于Ribbon实现的,所以它自带了客户端负载均衡功能,也可以通过Ribbon的IRule进行策略扩展。
_@_FeignClient 指定这个接口所要调用的服务名称
https://blog.csdn.net/yejingtao703/article/details/77748190 Spring Cloud Feign实例讲解
https://www.cnblogs.com/jalja/p/7011439.html spring cloud 之 Feign 使用HTTP请求远程服务


Spring Cloud Config

分布式配置中心,分客户端和服务端

Spring Cloud Hystrix

服务容错保护 ==>服务雪崩效应
在Spring Cloud Hystrix中实现了线程隔离、断路器等一系列的服务保护功能。
它也是基于Netflix的开源框架Hystrix实现的,该框架目标在于通过控制那些访问远程系统、服务和第三方库的节点,
从而对延迟和故障提供更强大的容错能力。
Hystrix具备了服务降级、服务熔断、线程隔离、请求缓存、请求合并以及服务监控等强大功能

Zuul 服务网关

消息驱动的微服务 Spring Cloud Stream
简单的说,Spring Cloud Stream本质上就是整合了Spring Boot和Spring Integration,实现了一套轻量级的消息驱动的微服务框架。
通过使用Spring Cloud Stream,可以有效地简化开发人员对消息中间件的使用复杂度,让系统开发人员可以有更多的精力关注于核心业务逻辑的处理
支持下面两个著名的消息中间件的自动化配置:RabbitMQ、Kafka

Spring Cloud Sleuth

分布式服务跟踪