Spring Cloud
Spring Cloud
masteryourself
程序员
展开
-
01.Spring Cloud 之概述
1. 概述1.1 Eureka 是什么Eureka 是 Netflix 的一个子模块,也是核心模块之一。Eureka 是一个基于 REST 的服务,用于定位服务,以实现云端中间层服务发现和故障转移。服务注册与发现对于微服务架构来说是非常重要的,有了服务与发现与注册,只需要使用服务的标识符,就可以访问到服务,而不需要修改服务调用的配置文件了。功能类似于 dubbo 的注册中心,比如 zooke...原创 2019-11-16 19:05:38 · 95 阅读 · 0 评论 -
02.Spring Cloud 之 Eureka
1. 概述1.1 Ribbon 是什么SpringCloud Ribbon 是基于 Netflix Ribbon 实现的一套 客户端负载均衡的工具简单的说,Ribbon 是 Netflix 发布的开源项目,主要功能是提供客户端的软件负载均衡算法,将 Nerflix 的中间层服务连接在一起。Ribbon 客户端组件提供一系列完善的配置项如连接超时,重试等。简单的说,就是在配置文件中列出...原创 2019-11-16 19:09:14 · 157 阅读 · 0 评论 -
03.Spring Cloud 之 Eureka Client 源码解析
1. 概述1.1 Feign 是什么Feign 是一个声明式 WebService 客户端。使用 Feign 能让编写 Web Service 客户端更加简单,它的使用方法是定义一个接口,然后在上面添加注解,同时也支持 JAX-RS 标准的注解。Feign 也支持可插拔式的编码器和解码器。SpringCloud 对 Feign 进行了封装,使其支持了 Spring MVC 标准注解和 Htt...原创 2019-11-16 19:16:13 · 153 阅读 · 0 评论 -
04.Spring Cloud 之 Eureka Server 源码解析
1. 概述1.1 分布式系统面临的问题复杂分布式体系结构中的应用程序有数十个依赖关系,每个依赖关系在某些时候将不可避免地失败。如果某个微服务的调用响应时间过长或者不可用,对微服务的调用就会占用越来越多的系统资源,进而引起系统崩溃,这就是所谓的“雪崩效应”1.2 Hystrix 是什么Hystrix 是一个用于处理分布式系统的延迟和容错的开源库,在分布式系统里,许多依赖不可...原创 2019-11-16 19:24:10 · 239 阅读 · 0 评论 -
05.Spring Cloud 之 OpenFeign
1. 概述1.1 Zuul 是什么Zuul 包含了对请求的路由和过滤两个最主要的功能其中路由功能负责将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础而过滤器功能则负责对请求的处理过程进行干预,是实现请求校验、服务聚合等功能的基础。Zuul 和 Eureka 进行整合,将 Zuul 自身注册为 Eureka 服务治理下的应用,同时从 Eureka 中获得其他微服务...原创 2019-11-16 19:29:39 · 97 阅读 · 0 评论 -
07.Spring Cloud 之 Hystrix
1. 概述1.1 服务熔断1.1.1 雪崩效应在复杂的系统中,经常会出现 A 依赖于 B,B 依赖于 C,C 依赖于 D,…… 这种依赖将会产生很长的调用链路,这种复杂的调用链路称为 1-> N 的扇出。如果在 A 的调用链路上某一个或几个被调用的子服务不可用或延迟较高,则会导致调用A 服务的请求被堵住。堵住的 A 请求会消耗占用系统的线程、IO 等资源,当对 A 服务的请求越来越多,占用的计算机资源越来越多的时候,会导致系统瓶颈出现,造成其他的请求同样不可用,最终导致业务系统崩溃,这种现象原创 2020-07-18 18:21:26 · 162 阅读 · 0 评论