coolblog

723
获赞数
0
关注数
479
粉丝数
杭州
IP 属地浙江
2017-02-19 加入
浏览 37k

我的技术文章会优先在个人网站上发表。对我文章感兴趣的朋友可以移步到:

个人网站:
https://www.tianxiaobo.com

2,040 声望|专家
全站排名超越 99.23% 用户
java
1.3k
算法
593
二叉树
592
红黑树
592
数据结构
592
黄金勋章
暂未获得该勋章
如何获得
4 白银勋章
个人动态
  • 发布了文章2021-08-30
    流量录制与回放技术实践
    本文主要介绍了流量录制与回放技术在压测场景下的应用。通过阅读本篇文章,你将了解到开源的录制工具如何与内部系统集成、如何进行二次开发以支持 Dubbo 流量录制、怎样通过 Java 类加载机制解决 jar 包版本冲突问题、以及流量录制在自动化测试场景下的应用与价值等...
  • 发布了文章2021-08-08
    记一次接口慢查排查
    本篇文章记录了一次接口慢查问题排查过程,该问题产生的现象迷惑性较高。同时由于问题偶发性高,排查难度也比较大。排查过程从 druid 数据源“导致”的一个慢查现象作为切入点,逐步分析,排除诸多可能性后仍无解。之后重新审视故障现象,换个角度分析,找到了问题根因...
  • 发布了文章2019-05-20
    简析限流算法
    限流顾名思义是限制流量,限制流量的目的是为了保障服务稳定运行,避免服务被流量冲垮。当流量超出服务处理能力时,部分请求将会被限流组件拦截。被拦截的请求可能会被丢弃,如果是 C 端请求,那么这个请求可能会被导向指定的错误页上,而不是生硬的拒绝。这里我们丢...
  • 赞了文章2019-01-21
    当Dubbo遇上Arthas:排查问题的实践
    Apache Dubbo是Alibaba开源的高性能RPC框架,在国内有非常多的用户。 Github: [链接] 文档:[链接] Arthas是Alibaba开源的应用诊断利器,9月份开源以来,Github Star数三个月超过6000。 Github: [链接] 文档:[链接] Arthas开源交流QQ群: 916328269 Arthas开源交流钉...
  • 发布了文章2019-01-09
    Dubbo 源码分析 - 服务调用过程
    在前面的文章中,我们分析了 Dubbo SPI、服务导出与引入、以及集群容错方面的代码。经过前文的铺垫,本篇文章我们终于可以分析服务调用过程了。Dubbo 服务调用过程比较复杂,包含众多步骤。比如发送请求、编解码、服务降级、过滤器链处理、序列化、线程派发以及响应...
  • 发布了文章2018-11-30
    Dubbo 源码分析 - 集群容错之 LoadBalance
    LoadBalance 中文意思为负载均衡,它的职责是将网络请求,或者其他形式的负载“均摊”到不同的机器上。避免集群中部分服务器压力过大,而另一些服务器比较空闲的情况。通过负载均衡,可以让每台服务器获取到适合自己处理能力的负载。在为高负载的服务器分流的同时,还...
  • 发布了文章2018-11-26
    Dubbo 源码分析 - 集群容错之 Cluster
    为了避免单点故障,现在的应用至少会部署在两台服务器上。对于一些负载比较高的服务,会部署更多台服务器。这样,同一环境下的服务提供者数量会大于1。对于服务消费者来说,同一环境下出现了多个服务提供者。这时会出现一个问题,服务消费者需要决定选择哪个服务提供...
  • 发布了文章2018-11-21
    Dubbo 源码分析 - 集群容错之 Router
    上一篇文章分析了集群容错的第一部分 -- 服务目录 Directory。服务目录在刷新 Invoker 列表的过程中,会通过 Router 进行服务路由。上一篇文章关于服务路由相关逻辑没有细致分析,一笔带过了,本篇文章将对此进行详细的分析。首先,先来介绍一下服务目录是什么。服务...
  • 发布了文章2018-11-19
    Dubbo 源码分析 - 集群容错之 Directory
    前面文章分析了服务的导出与引用过程,从本篇文章开始,我将开始分析 Dubbo 集群容错方面的源码。这部分源码包含四个部分,分别是服务目录 Directory、服务路由 Router、集群 Cluster 和负载均衡 LoadBalance。这几个部分的源码逻辑比较独立,我会分四篇文章进行分析...
  • 发布了文章2018-11-13
    Dubbo 源码分析 - 服务引用
    在上一篇文章中,我详细的分析了服务导出的原理。本篇文章我们趁热打铁,继续分析服务引用的原理。在 Dubbo 中,我们可以通过两种方式引用远程服务。第一种是使用服务直联的方式引用服务,第二种方式是基于注册中心进行引用。服务直联的方式仅适合在调试或测试服务的...
  • 发布了文章2018-11-01
    Dubbo 源码分析 - 服务导出
    本篇文章,我们来研究一下 Dubbo 导出服务的过程。Dubbo 服务导出过程始于 Spring 容器发布刷新事件,Dubbo 在接收到事件后,会立即执行服务导出逻辑。整个逻辑大致可分为三个部分,第一是前置工作,主要用于检查参数,组装 URL。第二是导出服务,包含导出服务到本地...
  • 发布了文章2018-10-15
    Dubbo 源码分析 - 自适应拓展原理
    我在上一篇文章中分析了 Dubbo 的 SPI 机制,Dubbo SPI 是 Dubbo 框架的核心。Dubbo 中的很多拓展都是通过 SPI 机制进行加载的,比如 Protocol、Cluster、LoadBalance 等。有时,有些拓展并非想在框架启动阶段被加载,而是希望在拓展方法被调用时,根据运行时参数进...
  • 发布了文章2018-10-09
    Dubbo 源码分析 - SPI 机制
    SPI 全称为 Service Provider Interface,是 Java 提供的一种服务发现机制。SPI 的本质是将接口实现类的全限定名配置在文件中,并由服务加载器读取配置文件,加载实现类。这样可以在运行时,动态为接口替换实现类。正因此特性,我们可以很容易的通过 SPI 机制为我们...
  • 发布了文章2018-09-11
    MyBatis 源码分析系列文章合集
    我从七月份开始阅读MyBatis源码,并在随后的40天内陆续更新了7篇文章。起初,我只是打算通过博客的形式进行分享。但在写作的过程中,发现要分析的代码太多,以至于文章篇幅特别大。在这7篇文章中,有4篇文章字数超过了1万,最长的一篇文章约有2.7万字(含代码)。考...
  • 发布了文章2018-07-17
    MyBatis 源码分析系列文章导读
    本篇文章是我为接下来的 MyBatis 源码分析系列文章写的一个导读文章。本篇文章从 MyBatis 是什么(what),为什么要使用(why),以及如何使用(how)等三个角度进行了说明和演示。由于文章的篇幅比较大,这里特地拿出一章用于介绍本文的结构和内容。那下面我们来看...
  • 发布了文章2018-06-19
    Spring AOP 源码分析系列文章导读
    前一段时间,我学习了 Spring IOC 容器方面的源码,并写了数篇文章对此进行讲解。在写完 Spring IOC 容器源码分析系列文章中的最后一篇后,没敢懈怠,趁热打铁,花了3天时间阅读了 AOP 方面的源码。开始以为 AOP 部分的源码也会比较复杂,所以原计划投入一周的时间用...
  • 发布了文章2018-06-11
    Spring IOC 容器源码分析 - 余下的初始化工作
    本篇文章是“Spring IOC 容器源码分析”系列文章的最后一篇文章,本篇文章所分析的对象是 initializeBean 方法,该方法用于对已完成属性填充的 bean 做最后的初始化工作。相较于之前几篇文章所分析的源码,initializeBean 的源码相对比较简单,大家可以愉快的阅读。好...
  • 发布了文章2018-06-11
    Spring IOC 容器源码分析 - 填充属性到 bean 原始对象
    本篇文章,我们来一起了解一下 Spring 是如何将配置文件中的属性值填充到 bean 对象中的。我在前面几篇文章中介绍过 Spring 创建 bean 的流程,即 Spring 先通过反射创建一个原始的 bean 对象,然后再向这个原始的 bean 对象中填充属性。对于填充属性这个过程,简单...
  • 发布了文章2018-06-08
    Spring IOC 容器源码分析 - 循环依赖的解决办法
    本文,我们来看一下 Spring 是如何解决循环依赖问题的。在本篇文章中,我会首先向大家介绍一下什么是循环依赖。然后,进入源码分析阶段。为了更好的说明 Spring 解决循环依赖的办法,我将会从获取 bean 的方法getBean(String)开始,把整个调用过程梳理一遍。梳理完后...
  • 发布了文章2018-06-06
    Spring IOC 容器源码分析 - 创建原始 bean 对象
    本篇文章是上一篇文章(创建单例 bean 的过程)的延续。在上一篇文章中,我们从战略层面上领略了doCreateBean方法的全过程。本篇文章,我们就从战术的层面上,详细分析doCreateBean方法中的一个重要的调用,即createBeanInstance方法。在本篇文章中,你将看到三种不...