OpenFeign 和 Hystrix 的源码解读(原创)
Posted 鑫球猿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenFeign 和 Hystrix 的源码解读(原创)相关的知识,希望对你有一定的参考价值。
OpenFeign 和 Hystrix 的源码解读(原创)
Hystrix
目录
OpenFeign 和 Hystrix 的源码解读(原创)Hystrix什么是Hystrix雪崩效应雪崩效应的解决方案请求缓存:支持将一个请求和返回结果做缓存处理请求合并:将相同的请求合并进行批量请求服务隔离:服务间进行分割开来,资源互不影响使用线程池对每个接口进行隔离,保证接口之间互不影响 (适用于99%的场景)a使用信号量隔离,每次请求通过计数信号量来限制的,当信号量大于了最大请求数maxConcurrentRequests时,进行限制,调用fallback快速返回。信号量和线程池隔离的对比服务熔断:牺牲局部服务,保全整体服务的稳定服务降级:服务熔断之后,返回缺省值Hystrix源码解析OpenFeign什么是OpenFeignopenFeign的使用OpenFeign原理和源码解析feign自定义负载均衡(因为我的openFeign版本号是3.0.2,不再支持ribbon,所以使用spring-cloud-starter-loadbalancer里面的类来进行自定义)谈一谈openFeign的具体使用openFeign的版本号区别(重要)可查阅官方文档 https://spring.io/projects/spring-cloud-openfeign/#learn
什么是Hystrix
是由netflix的一个开源组件,目的是为了提高整个系统的稳定性。
雪崩效应
当一个服务被其他服务调用的时候,被调用的服务崩溃之后会引发其他与之直接或间接相关服务的崩溃,简称雪崩效应造成的原因:
服务提供者不可用(硬件故障,程序Bug,缓存击穿,用户大量请求等)
重试加大流量(用户重试,代码逻辑生成)
服务消费者不可用(同步等待造成的资源耗尽)
雪崩效应的解决方案
请求缓存:支持将一个请求和返回结果做缓存处理
使用redis进行数据缓存
以上是关于OpenFeign 和 Hystrix 的源码解读(原创)的主要内容,如果未能解决你的问题,请参考以下文章
《微服务专题》SpringCloud-Eureka源码分析解读
springcloud中openfeign止hystrix的几个问题