博客园 - 石玉军
uuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=17973
2020-03-18T05:58:23Z
石玉军
https://www.cnblogs.com/zhixiang-org-cn/
feed.cnblogs.com
https://www.cnblogs.com/zhixiang-org-cn/p/12498236.html
为什么要把MySQL的binlog格式修改为row - 石玉军
我们知道binlog有两种常用的格式,一种是statement(默认),一种是row,很多人都说建议你修改为row格式,那么是为什么呢? 首先我们需要知道它们两个之间有什么不同? statement格式记录的我们写的SQL语句,而row格式记录的则是实际受影响的数据的变化前后值 这里举两个例子说明一
2020-03-15T08:24:00Z
2020-03-15T08:24:00Z
石玉军
https://www.cnblogs.com/zhixiang-org-cn/
【摘要】我们知道binlog有两种常用的格式,一种是statement(默认),一种是row,很多人都说建议你修改为row格式,那么是为什么呢? 首先我们需要知道它们两个之间有什么不同? statement格式记录的我们写的SQL语句,而row格式记录的则是实际受影响的数据的变化前后值 这里举两个例子说明一 <a href="https://www.cnblogs.com/zhixiang-org-cn/p/12498236.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhixiang-org-cn/p/12454275.html
面试官:你知道大事务会带来什么问题以及如何解决么? - 石玉军
什么是大事务? 简单来说就是那些运行时间比较长,操作的数据比较多的事务 如何查询大事务? 以查询执行时间超过10秒的事务为例: 大事务一般会对数据库造成什么问题? 锁定数据过多,容易造成大量的死锁和锁超时 当系统中不同事务之间出现循环资源依赖,涉及的事务都在等待别的事务释放资源时,就会导致这几个事务
2020-03-10T02:45:00Z
2020-03-10T02:45:00Z
石玉军
https://www.cnblogs.com/zhixiang-org-cn/
【摘要】什么是大事务? 简单来说就是那些运行时间比较长,操作的数据比较多的事务 如何查询大事务? 以查询执行时间超过10秒的事务为例: 大事务一般会对数据库造成什么问题? 锁定数据过多,容易造成大量的死锁和锁超时 当系统中不同事务之间出现循环资源依赖,涉及的事务都在等待别的事务释放资源时,就会导致这几个事务 <a href="https://www.cnblogs.com/zhixiang-org-cn/p/12454275.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhixiang-org-cn/p/12449934.html
TCP三次握手、四次挥手、滑动窗口、流量控制 - 石玉军
在学习TCP协议之前,我们了解一下TCP头的报文格式 + 最上层是源端口号和目标端口号 + 接下来是包的序号和确认序号,这里的序号的作用就是维持TCP的顺序性和可靠性两种特性 + 接下来左边部分是当前的状态位,而大名鼎鼎的三次握手和四次挥手就是基于这个状态位实现的 + 右半部分是滑动窗口,主要是为了
2020-03-09T09:36:00Z
2020-03-09T09:36:00Z
石玉军
https://www.cnblogs.com/zhixiang-org-cn/
【摘要】在学习TCP协议之前,我们了解一下TCP头的报文格式 + 最上层是源端口号和目标端口号 + 接下来是包的序号和确认序号,这里的序号的作用就是维持TCP的顺序性和可靠性两种特性 + 接下来左边部分是当前的状态位,而大名鼎鼎的三次握手和四次挥手就是基于这个状态位实现的 + 右半部分是滑动窗口,主要是为了 <a href="https://www.cnblogs.com/zhixiang-org-cn/p/12449934.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhixiang-org-cn/p/12164819.html
2020最新阿里美团Java面经 - 石玉军
小弟是97年出生,专科18年毕业,专升本在读。工作时间总计2年半 2019年12月30号投了几个简历,收到了杭州阿里和北京美团的面邀 阿里,31号电面,2020年元旦中午1点在线编程。最后挂了,面试官大哥说等我工作满三年再捞我 北京美团2020年1月2号现场面,技术面过了,最后因为学历是大专遗憾离场
2020-01-08T01:16:00Z
2020-01-08T01:16:00Z
石玉军
https://www.cnblogs.com/zhixiang-org-cn/
【摘要】小弟是97年出生,专科18年毕业,专升本在读。工作时间总计2年半 2019年12月30号投了几个简历,收到了杭州阿里和北京美团的面邀 阿里,31号电面,2020年元旦中午1点在线编程。最后挂了,面试官大哥说等我工作满三年再捞我 北京美团2020年1月2号现场面,技术面过了,最后因为学历是大专遗憾离场 <a href="https://www.cnblogs.com/zhixiang-org-cn/p/12164819.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhixiang-org-cn/p/11946886.html
SpringCloud Gateway拦截器遇到的小坑汇总 - 石玉军
很多朋友在使用SpringCloudGateway的时候可能都碰到过以下几个问题 SpringCloudGateway中如何读取Post请求体 SpringCloudGateway中Post请求参数只能读取一次 这是因为Gateway默认使用的是SpringWebflux,解决这个问题需要容重新构造
2019-11-28T01:17:00Z
2019-11-28T01:17:00Z
石玉军
https://www.cnblogs.com/zhixiang-org-cn/
【摘要】很多朋友在使用SpringCloudGateway的时候可能都碰到过以下几个问题 SpringCloudGateway中如何读取Post请求体 SpringCloudGateway中Post请求参数只能读取一次 这是因为Gateway默认使用的是SpringWebflux,解决这个问题需要容重新构造 <a href="https://www.cnblogs.com/zhixiang-org-cn/p/11946886.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhixiang-org-cn/p/11938932.html
Zipkin客户端链路追踪源码解析 - 石玉军
我们知道,Zipkin这个工具可以帮助我们收集分布式系统中各个系统之间的调用连关系,而且除了Servlet之外还能收集:MQ、线程池、WebSocket、Feign、Hystrix、RxJava、WebFlux等等组件之间的调用关系。本篇文章就来分析一下Zipkin是如何完成这些功能的 我们先以最常
2019-11-26T14:30:00Z
2019-11-26T14:30:00Z
石玉军
https://www.cnblogs.com/zhixiang-org-cn/
【摘要】我们知道,Zipkin这个工具可以帮助我们收集分布式系统中各个系统之间的调用连关系,而且除了Servlet之外还能收集:MQ、线程池、WebSocket、Feign、Hystrix、RxJava、WebFlux等等组件之间的调用关系。本篇文章就来分析一下Zipkin是如何完成这些功能的 我们先以最常 <a href="https://www.cnblogs.com/zhixiang-org-cn/p/11938932.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhixiang-org-cn/p/11864797.html
Hystrix失败处理逻辑解析 - 石玉军
在上篇文章 "Hystrix工作流程解析" 中,我们整体介绍了Hystrix的工作流程,知道了Hystrix会在下面四种情况下发生降级: 1. 熔断器打开 2. 线程池/信号量跑满 3. 调用超时 4. 调用失败 本篇文章则介绍一下在发生降级时Hystrix的处理细节,下面的方法异常的处理逻辑: 这
2019-11-15T02:28:00Z
2019-11-15T02:28:00Z
石玉军
https://www.cnblogs.com/zhixiang-org-cn/
【摘要】在上篇文章 "Hystrix工作流程解析" 中,我们整体介绍了Hystrix的工作流程,知道了Hystrix会在下面四种情况下发生降级: 1. 熔断器打开 2. 线程池/信号量跑满 3. 调用超时 4. 调用失败 本篇文章则介绍一下在发生降级时Hystrix的处理细节,下面的方法异常的处理逻辑: 这 <a href="https://www.cnblogs.com/zhixiang-org-cn/p/11864797.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhixiang-org-cn/p/11864793.html
Feign自动装配原理 - 石玉军
spring.factories 按照以往的惯例,在研究源码的时候,我们先看一下 文件下自动装配的类 ,其中比较重要的东西有这么几个 1. 属性 代表的是各个Feign客户端的配置类,这个稍后会再次提到 2. 这个bean看名字就知道,Feign的上下文环境,包含了所有feign客户端的配置 3.
2019-11-15T02:27:00Z
2019-11-15T02:27:00Z
石玉军
https://www.cnblogs.com/zhixiang-org-cn/
【摘要】spring.factories 按照以往的惯例,在研究源码的时候,我们先看一下 文件下自动装配的类 ,其中比较重要的东西有这么几个 1. 属性 代表的是各个Feign客户端的配置类,这个稍后会再次提到 2. 这个bean看名字就知道,Feign的上下文环境,包含了所有feign客户端的配置 3. <a href="https://www.cnblogs.com/zhixiang-org-cn/p/11864793.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhixiang-org-cn/p/11864790.html
SpringCloud服务调用源码解析汇总 - 石玉军
相信我,你会收藏这篇文章的,本篇文章涉及Ribbon、Hystrix、Feign三个组件的源码解析 "Ribbon架构剖析" 这篇文章介绍了Ribbon的基础架构,也就是下图涉及到的6大组件: "Ribbon源码解析" 这篇文章以上篇文章为基础,详细介绍了Ribbon的代码执行流程:Ribbon的自
2019-11-15T02:27:00Z
2019-11-15T02:27:00Z
石玉军
https://www.cnblogs.com/zhixiang-org-cn/
【摘要】相信我,你会收藏这篇文章的,本篇文章涉及Ribbon、Hystrix、Feign三个组件的源码解析 "Ribbon架构剖析" 这篇文章介绍了Ribbon的基础架构,也就是下图涉及到的6大组件: "Ribbon源码解析" 这篇文章以上篇文章为基础,详细介绍了Ribbon的代码执行流程:Ribbon的自 <a href="https://www.cnblogs.com/zhixiang-org-cn/p/11864790.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhixiang-org-cn/p/11864787.html
Zipkin架构简介 - 石玉军
Zipkin基本概念 1. Span:基本工作单元,一次链路调用就会创建一个Span 2. Trace:一组Span的集合,表示一条调用链路。举个例子:当前存在服务A调用服务B然后调用服务C,这个A B C的链路就是一条Trace,而每个服务例如B就是一个Span,如果在服务B中另起2个线程分别调用
2019-11-15T02:26:00Z
2019-11-15T02:26:00Z
石玉军
https://www.cnblogs.com/zhixiang-org-cn/
【摘要】Zipkin基本概念 1. Span:基本工作单元,一次链路调用就会创建一个Span 2. Trace:一组Span的集合,表示一条调用链路。举个例子:当前存在服务A调用服务B然后调用服务C,这个A B C的链路就是一条Trace,而每个服务例如B就是一个Span,如果在服务B中另起2个线程分别调用 <a href="https://www.cnblogs.com/zhixiang-org-cn/p/11864787.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhixiang-org-cn/p/11854757.html
Zipkin架构简介 - 石玉军
Zipkin基本概念 1. Span:基本工作单元,一次链路调用就会创建一个Span 2. Trace:一组Span的集合,表示一条调用链路。举个例子:当前存在服务A调用服务B然后调用服务C,这个A B C的链路就是一条Trace,而每个服务例如B就是一个Span,如果在服务B中另起2个线程分别调用
2019-11-14T01:12:00Z
2019-11-14T01:12:00Z
石玉军
https://www.cnblogs.com/zhixiang-org-cn/
【摘要】Zipkin基本概念 1. Span:基本工作单元,一次链路调用就会创建一个Span 2. Trace:一组Span的集合,表示一条调用链路。举个例子:当前存在服务A调用服务B然后调用服务C,这个A B C的链路就是一条Trace,而每个服务例如B就是一个Span,如果在服务B中另起2个线程分别调用 <a href="https://www.cnblogs.com/zhixiang-org-cn/p/11854757.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhixiang-org-cn/p/11846653.html
SpringCloud服务调用源码解析汇总 - 石玉军
相信我,你会收藏这篇文章的,本篇文章涉及Ribbon、Hystrix、Feign三个组件的源码解析 "Ribbon架构剖析" 这篇文章介绍了Ribbon的基础架构,也就是下图涉及到的6大组件: "Ribbon源码解析" 这篇文章以上篇文章为基础,详细介绍了Ribbon的代码执行流程:Ribbon的自
2019-11-13T00:57:00Z
2019-11-13T00:57:00Z
石玉军
https://www.cnblogs.com/zhixiang-org-cn/
【摘要】相信我,你会收藏这篇文章的,本篇文章涉及Ribbon、Hystrix、Feign三个组件的源码解析 "Ribbon架构剖析" 这篇文章介绍了Ribbon的基础架构,也就是下图涉及到的6大组件: "Ribbon源码解析" 这篇文章以上篇文章为基础,详细介绍了Ribbon的代码执行流程:Ribbon的自 <a href="https://www.cnblogs.com/zhixiang-org-cn/p/11846653.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhixiang-org-cn/p/11832875.html
Feign整合Ribbon和Hystrix源码解析 - 石玉军
在上篇文章 "Feign自动装配" 中,我们提到了Feign的自动装配的原理,以及Feign整合Ribbon和Hystrix的核心在类 中,那么本篇文章就来揭开这个类的神秘面纱 首先,我们看到这个类实现了 这个接口,这个接口的主要作用就是利用 来创建一些实例化过程比较复杂的bean,更多关于这个接口
2019-11-11T01:14:00Z
2019-11-11T01:14:00Z
石玉军
https://www.cnblogs.com/zhixiang-org-cn/
【摘要】在上篇文章 "Feign自动装配" 中,我们提到了Feign的自动装配的原理,以及Feign整合Ribbon和Hystrix的核心在类 中,那么本篇文章就来揭开这个类的神秘面纱 首先,我们看到这个类实现了 这个接口,这个接口的主要作用就是利用 来创建一些实例化过程比较复杂的bean,更多关于这个接口 <a href="https://www.cnblogs.com/zhixiang-org-cn/p/11832875.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhixiang-org-cn/p/11827939.html
Hystrix失败处理逻辑解析 - 石玉军
在上篇文章 "Hystrix工作流程解析" 中,我们整体介绍了Hystrix的工作流程,知道了Hystrix会在下面四种情况下发生降级: 1. 熔断器打开 2. 线程池/信号量跑满 3. 调用超时 4. 调用失败 本篇文章则介绍一下在发生降级时Hystrix的处理细节,下面的方法异常的处理逻辑: 这
2019-11-09T13:22:00Z
2019-11-09T13:22:00Z
石玉军
https://www.cnblogs.com/zhixiang-org-cn/
【摘要】在上篇文章 "Hystrix工作流程解析" 中,我们整体介绍了Hystrix的工作流程,知道了Hystrix会在下面四种情况下发生降级: 1. 熔断器打开 2. 线程池/信号量跑满 3. 调用超时 4. 调用失败 本篇文章则介绍一下在发生降级时Hystrix的处理细节,下面的方法异常的处理逻辑: 这 <a href="https://www.cnblogs.com/zhixiang-org-cn/p/11827939.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhixiang-org-cn/p/11818072.html
Feign自动装配原理 - 石玉军
spring.factories 按照以往的惯例,在研究源码的时候,我们先看一下 文件下自动装配的类 ,其中比较重要的东西有这么几个 1. 属性 代表的是各个Feign客户端的配置类,这个稍后会再次提到 2. 这个bean看名字就知道,Feign的上下文环境,包含了所有feign客户端的配置 3.
2019-11-08T01:10:00Z
2019-11-08T01:10:00Z
石玉军
https://www.cnblogs.com/zhixiang-org-cn/
【摘要】spring.factories 按照以往的惯例,在研究源码的时候,我们先看一下 文件下自动装配的类 ,其中比较重要的东西有这么几个 1. 属性 代表的是各个Feign客户端的配置类,这个稍后会再次提到 2. 这个bean看名字就知道,Feign的上下文环境,包含了所有feign客户端的配置 3. <a href="https://www.cnblogs.com/zhixiang-org-cn/p/11818072.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhixiang-org-cn/p/11810037.html
Hystrix核心熔断器 - 石玉军
在深入研究熔断器之前,我们需要先看一下Hystrix的几个重要的默认配置,这几个配置在 中 这几个属性共同组成了熔断器的核心逻辑,即: 1. 每10秒的窗口期内,当请求次数超过20次,且出错比例超过50%,则触发熔断器打开 2. 当熔断器5秒后,会尝试放过去一部分流量进行试探 熔断器初始化 熔断器的
2019-11-07T01:24:00Z
2019-11-07T01:24:00Z
石玉军
https://www.cnblogs.com/zhixiang-org-cn/
【摘要】在深入研究熔断器之前,我们需要先看一下Hystrix的几个重要的默认配置,这几个配置在 中 这几个属性共同组成了熔断器的核心逻辑,即: 1. 每10秒的窗口期内,当请求次数超过20次,且出错比例超过50%,则触发熔断器打开 2. 当熔断器5秒后,会尝试放过去一部分流量进行试探 熔断器初始化 熔断器的 <a href="https://www.cnblogs.com/zhixiang-org-cn/p/11810037.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhixiang-org-cn/p/11803122.html
Hystrix失败处理逻辑解析 - 石玉军
在上篇文章 "Hystrix工作流程解析" 中,我们整体介绍了Hystrix的工作流程,知道了Hystrix会在下面四种情况下发生降级: 1. 熔断器打开 2. 线程池/信号量跑满 3. 调用超时 4. 调用失败 本篇文章则介绍一下在发生降级时Hystrix的处理细节,下面的方法异常的处理逻辑: 这
2019-11-06T01:10:00Z
2019-11-06T01:10:00Z
石玉军
https://www.cnblogs.com/zhixiang-org-cn/
【摘要】在上篇文章 "Hystrix工作流程解析" 中,我们整体介绍了Hystrix的工作流程,知道了Hystrix会在下面四种情况下发生降级: 1. 熔断器打开 2. 线程池/信号量跑满 3. 调用超时 4. 调用失败 本篇文章则介绍一下在发生降级时Hystrix的处理细节,下面的方法异常的处理逻辑: 这 <a href="https://www.cnblogs.com/zhixiang-org-cn/p/11803122.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhixiang-org-cn/p/11790390.html
Hystrix工作流程解析 - 石玉军
搭建Hystrix源码阅读环境 引入依赖 创建 类 创建测试类 Hystrix工作流程 首先我们看一下上方的这张图,这个图完整的描述了Hystrix的工作流程: 1.每次调用都会创建一个HystrixCommand 2.执行execute或queue做同步\异步调用 3.判断熔断器是否打开,如果打开
2019-11-04T01:13:00Z
2019-11-04T01:13:00Z
石玉军
https://www.cnblogs.com/zhixiang-org-cn/
【摘要】搭建Hystrix源码阅读环境 引入依赖 创建 类 创建测试类 Hystrix工作流程 首先我们看一下上方的这张图,这个图完整的描述了Hystrix的工作流程: 1.每次调用都会创建一个HystrixCommand 2.执行execute或queue做同步\异步调用 3.判断熔断器是否打开,如果打开 <a href="https://www.cnblogs.com/zhixiang-org-cn/p/11790390.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhixiang-org-cn/p/11775181.html
Ribbon源码解析 - 石玉军
在上篇文章 "Ribbon架构剖析" 中,我们已经介绍了Ribbon的架构组成以及很多重要的对象,相信你已经对Ribbon已经有一个清晰的认识了。本篇文章则研究一下Ribbon的原理 首先我们知道,在普通项目中Ribbon的使用是这样的 这里面最引人瞩目的就是注解 了,看一下这个注解都是做了什么吧
2019-11-01T01:23:00Z
2019-11-01T01:23:00Z
石玉军
https://www.cnblogs.com/zhixiang-org-cn/
【摘要】在上篇文章 "Ribbon架构剖析" 中,我们已经介绍了Ribbon的架构组成以及很多重要的对象,相信你已经对Ribbon已经有一个清晰的认识了。本篇文章则研究一下Ribbon的原理 首先我们知道,在普通项目中Ribbon的使用是这样的 这里面最引人瞩目的就是注解 了,看一下这个注解都是做了什么吧 <a href="https://www.cnblogs.com/zhixiang-org-cn/p/11775181.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhixiang-org-cn/p/11769320.html
Ribbon架构剖析 - 石玉军
在学习Ribbon之前,先看一下这张图,这张图完美的把Ribbon的基础架构给描述出来了 这张图的核心是负载均衡管理器,围绕着它的是外面的这5大功能点,咱们就从核心开始看然后再带出来其他的功能 首先看一下负载均衡器的核心接口 这个接口中保护了一个基本的负载均衡器所必须的所有功能: 1. 向负载均衡器
2019-10-31T01:11:00Z
2019-10-31T01:11:00Z
石玉军
https://www.cnblogs.com/zhixiang-org-cn/
【摘要】在学习Ribbon之前,先看一下这张图,这张图完美的把Ribbon的基础架构给描述出来了 这张图的核心是负载均衡管理器,围绕着它的是外面的这5大功能点,咱们就从核心开始看然后再带出来其他的功能 首先看一下负载均衡器的核心接口 这个接口中保护了一个基本的负载均衡器所必须的所有功能: 1. 向负载均衡器 <a href="https://www.cnblogs.com/zhixiang-org-cn/p/11769320.html" target="_blank">阅读全文</a>