Java学习录

专注于Java知识体系学习,Spring、SpringBoot、SpringCloud源码解析
>相信我,你会收藏这篇文章的,本篇文章涉及Ribbon、Hystrix、Feign三个组件的源码解析 [Ribbon架构剖析](https://mp.weixin.qq.com/s/ganchvrJRwzE8ph20psXqA) 这篇文章介绍了Ribbon的基础架构,也就是下图涉及到的6大组件: ![file](/posts/Ribbon/1.jpg) [Ri......
在上篇文章[Feign自动装配](https://mp.weixin.qq.com/s/0BMr4DI2Zq59bEtGJ41R-w)中,我们提到了Feign的自动装配的原理,以及Feign整合Ribbon和Hystrix的核心在类`FeignClientFactoryBean`中,那么本篇文章就来揭开这个类的神秘面纱 首先,我们看到这个类实现了`FactoryBean`这个接口,这个......

2019-11-03 09:54:08

Feign自动装配原理
spring.factories 按照以往的惯例,在研究源码的时候,我们先看一下`spring.factories`文件下自动装配的类`FeignAutoConfiguration`,其中比较重要的东西有这么几个 ``` @Autowired(required = false) private List config......

2019-11-01 09:54:08

Hystrix核心熔断器
在深入研究熔断器之前,我们需要先看一下Hystrix的几个重要的默认配置,这几个配置在`HystrixCommandProperties` 中 ``` //时间窗(ms) static final Integer default_metricsRollingStatisticalWindow = 10000; //最少请求次数 private static final Integer......
在上篇文章[Hystrix工作流程解析](https://mp.weixin.qq.com/s/HsRCdVdEwO3Vd8wGki-DZA)中,我们整体介绍了Hystrix的工作流程,知道了Hystrix会在下面四种情况下发生降级: 1. 熔断器打开 2. 线程池/信号量跑满 3. 调用超时 4. 调用失败 本篇文章则介绍一下在发生降级时Hystrix的处理细节,下面的方法异......

2019-10-30 09:54:08

Hystrix工作流程解析
搭建Hystrix源码阅读环境 引入依赖 ``` com.netflix.hystrix hystrix-core 1.5.12 ......

2019-10-28 09:54:08

Ribbon源码解析
在上篇文章[Ribbon架构剖析](https://mp.weixin.qq.com/s/ganchvrJRwzE8ph20psXqA)中,我们已经介绍了Ribbon的架构组成以及很多重要的对象,相信你已经对Ribbon已经有一个清晰的认识了。本篇文章则研究一下Ribbon的原理 首先我们知道,在普通项目中Ribbon的使用是这样的 ``` @SpringBootApplication @R......

2019-10-27 09:54:08

Ribbon架构解析
![file](/posts/ribbon/1.jpg) 在学习Ribbon之前,先看一下这张图,这张图完美的把Ribbon的基础架构给描述出来了 这张图的核心是负载均衡管理器,围绕着它的是外面的这5大功能点,咱们就从核心开始看然后再带出来其他的功能 首先看一下负载均衡器的核心接口`ILoadBalancer` ``` public interface ILoadBal......
先看一张图 ![file](/posts/eureka/1.jpg) 这个图是Eureka官方提供的架构图,整张图基本上把整个Eureka的核心功能给列出来了,当你要阅读Eureka的源码时可以参考着这个图和下方这些文章 EurekaServer EurekaServer就是我们常说的服务端 Eureka服务端的启动可参考这篇文章[EurekaServer自动装配及启动流程......
>默认情况下,当EurekaServer在一定时间内(默认90秒)没有接收到某个客户端实例的心跳,EurekaServer将会注销该实例。但是当网络分区故障发生时,客户端与EurekaServer之间无法正常通信,此时不应该注销客户端。Eureka通过“自我保护机制”来解决这个问题:当EurekaServer短时间内丢失过多客户端时,这个节点就会进入自我保护模式。在自我保护模式下,EurekaS......