加载中
2020最新阿里美团Java面经

小弟是97年出生,专科18年毕业,专升本在读。工作时间总计2年半 2019年12月30号投了几个简历,收到了杭州阿里和北京美团的面邀 阿里,31号电面,2020年元旦中午1点在线编程。最后挂了,面试官...

2020/01/08 09:10
985
SpringCloud Gateway拦截器遇到的小坑汇总

很多朋友在使用SpringCloudGateway的时候可能都碰到过以下几个问题 SpringCloudGateway中如何读取Post请求体 private BodyInserter getBodyInserter(ServerWebExchange exchange) { ServerR...

Zipkin客户端链路追踪源码解析

我们知道,Zipkin这个工具可以帮助我们收集分布式系统中各个系统之间的调用连关系,而且除了Servlet之外还能收集:MQ、线程池、WebSocket、Feign、Hystrix、RxJava、WebFlux等等组件之间的调...

2019/11/26 22:31
184
Zipkin架构简介

Zipkin基本概念 Span:基本工作单元,一次链路调用就会创建一个Span Trace:一组Span的集合,表示一条调用链路。举个例子:当前存在服务A调用服务B然后调用服务C,这个A->B->C的链路就是一条...

2019/11/14 09:12
279
SpringCloud服务调用源码解析汇总

相信我,你会收藏这篇文章的,本篇文章涉及Ribbon、Hystrix、Feign三个组件的源码解析 Ribbon架构剖析 这篇文章介绍了Ribbon的基础架构,也就是下图涉及到的6大组件: Ribbon源码解析 这篇文...

2019/11/13 08:58
153
Feign自动装配原理

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

2019/11/08 09:10
221
Hystrix核心熔断器

在深入研究熔断器之前,我们需要先看一下Hystrix的几个重要的默认配置,这几个配置在HystrixCommandProperties 中 //时间窗(ms) static final Integer default_metricsRollingStatistical...

2019/11/07 09:24
355
Hystrix失败处理逻辑解析

在上篇文章Hystrix工作流程解析中,我们整体介绍了Hystrix的工作流程,知道了Hystrix会在下面四种情况下发生降级: 熔断器打开 线程池/信号量跑满 调用超时 调用失败 本篇文章则介绍一下在发...

2019/11/06 09:10
300
Hystrix工作流程解析

搭建Hystrix源码阅读环境 引入依赖 com.netflix.hystrix hystrix-core 1.5.12 ...

2019/11/04 09:13
182
Ribbon源码解析

在上篇文章Ribbon架构剖析中,我们已经介绍了Ribbon的架构组成以及很多重要的对象,相信你已经对Ribbon已经有一个清晰的认识了。本篇文章则研究一下Ribbon的原理 首先我们知道,在普通项目中...

2019/11/01 09:24
101
Ribbon架构剖析

在学习Ribbon之前,先看一下这张图,这张图完美的把Ribbon的基础架构给描述出来了 这张图的核心是负载均衡管理器,围绕着它的是外面的这5大功能点,咱们就从核心开始看然后再带出来其他的功能...

2019/10/31 09:12
144
Eureka源码解析系列文章汇总

先看一张图 0 这个图是Eureka官方提供的架构图,整张图基本上把整个Eureka的核心功能给列出来了,当你要阅读Eureka的源码时可以参考着这个图和下方这些文章 EurekaServer EurekaServer就是我...

2019/10/30 09:19
103
Eureka自我保护机制源码解析

默认情况下,当EurekaServer在一定时间内(默认90秒)没有接收到某个客户端实例的心跳,EurekaServer将会注销该实例。但是当网络分区故障发生时,客户端与EurekaServer之间无法正常通信,此时...

2019/10/29 09:08
155
Eureka服务下线源码解析

我们知道,在Eureka中,可以使用如下方法使Eureka主动下线,那么本篇文章就来分析一下子这个下线的流程 public synchronized void shutdown() { if (isShutdown.compareAndSet(false, true))...

2019/10/27 23:24
111
Eureka获取服务列表源码解析

在之前的文章:EurekaClient自动装配及启动流程解析中,我们提到了在类DiscoveryClient的构造方法中存在一个刷新线程和从服务端拉取注册信息的操作 这两个就是eureka获取服务列表的两种情况:...

2019/10/24 10:02
151
Eureka客户端续约及服务端过期租约清理源码解析

在之前的文章:EurekaClient自动装配及启动流程解析中,我们提到了在构造DiscoveryClient时除了包含注册流程之外,还调度了一个心跳线程: scheduler.schedule( new TimedSupervisorTask( ....

2019/10/23 09:17
262
Eureka应用注册与集群数据同步源码解析

在之前的EurekaClient自动装配及启动流程解析一文中我们提到过,在构造DiscoveryClient类时,会把自身注册到服务端,本文就来分析一下这个注册流程 客户端发起注册 boolean register() throw...

2019/10/21 22:51
124
Eureka重要对象简介

在进行分析EurekaClient和EurekaServer之间通信的源码之前,我们首先需要熟悉一下几个实体类 InstanceInfo 这个类代表着EurekaClient实例,客户端向服务端请求注册时就会携带着这个实例,这个...

2019/10/20 23:04
98
EurekaClient自动装配及启动流程解析

在上篇文章中,我们简单介绍了EurekaServer自动装配及启动流程解析,本篇文章则继续研究EurekaClient的相关代码 老规矩,先看spring.factories文件,其中引入了一个配置类EurekaDiscoveryClie...

2019/10/16 22:58
240

没有更多内容

加载失败,请刷新页面

返回顶部
顶部