解Bug之路

39 篇文章
14.4K 次阅读
23 人订阅

全部文章

无毁的湖光-Al

用隧道协议实现不同dubbo集群间的透明通信用隧道协议实现不同dubbo集群间的透明通信

笔者最近完成了一个非常有意思的隧道机制(已在产线运行),可以让注册到不同zookeeper之间的dubbo集群之间能够正常进行通信。如下图所示:

5320
无毁的湖光-Al

从Linux源码看Socket(TCP)的accept从Linux源码看Socket(TCP)的accept一个最简单的Server端例子总结

笔者一直觉得如果能知道从应用到框架再到操作系统的每一处代码,是一件Exciting的事情。 今天笔者就从Linux源码的角度看下Server端的Socket在进...

11040
无毁的湖光-Al

解Bug之路-NAT引发的性能瓶颈解Bug之路-NAT引发的性能瓶颈总结

笔者最近解决了一个非常曲折的问题,从抓包开始一路排查到不同内核版本间的细微差异,最后才完美解释了所有的现象。在这里将整个过程写成博文记录下来,希望能够对读者有所...

12420
无毁的湖光-Al

解Bug之路-Nginx 502 Bad Gateway

事实证明,读过Linux内核源码确实有很大的好处,尤其在处理问题的时刻。当你看到报错的那一瞬间,就能把现象/原因/以及解决方案一股脑的在脑中闪现。甚至一些边边角...

13720
无毁的湖光-Al

从Linux源码看Socket(TCP)Client端的Connect

笔者一直觉得如果能知道从应用到框架再到操作系统的每一处代码,是一件Exciting的事情。 今天笔者就来从Linux源码的角度看下Client端的Socket在...

20641
无毁的湖光-Al

Linux上TCP的几个内核参数调优

Linux作为一个强大的操作系统,提供了一系列内核参数供我们进行调优。光TCP的调优参数就有50多个。在和线上问题斗智斗勇的过程中,笔者积累了一些在内网环境应该...

1.3K262
无毁的湖光-Al

解Bug之路-记一次存储故障的排查过程

高可用真是一丝细节都不得马虎。平时跑的好好的系统,在相应硬件出现故障时就会引发出潜在的Bug。偏偏这些故障在应用层的表现稀奇古怪,很难让人联想到是硬件出了问题,...

13532
无毁的湖光-Al

自己动手写SQL执行引擎

在阅读了大量关于数据库的资料后,笔者情不自禁产生了一个造数据库轮子的想法。来验证一下自己对于数据库底层原理的掌握是否牢靠。在笔者的github中给这个datab...

16542
无毁的湖光-Al

解Bug之路-dubbo应用无法重连zookeeper

dubbo是一个成熟且被广泛运用的框架。饶是如此,在某些极端条件下基于dubbo的应用还会出现无法重连zookeeper的问题。由于此问题容易导致比较大的故障,...

27330
无毁的湖光-Al

解Bug之路-中间件"SQL重复执行"

我们的分库分表中间件在线上运行了两年多,到目前为止还算稳定。在笔者将精力放在处理各种灾难性事件(例如中间件物理机宕机/数据库宕机/网络隔离等突发事件)时。竟然发...

19330
无毁的湖光-Al

从linux源码看socket(tcp)的timeout

网络编程中超时时间是一个重要但又容易被忽略的问题,对其的设置需要仔细斟酌。在经历了数次物理机宕机之后,笔者详细的考察了在网络编程(tcp)中的各种超时设置,于是...

68410
无毁的湖光-Al

解Bug之路-记一次调用外网服务概率性失败问题的排查

和外部联调一直是令人困扰的问题,尤其是一些基础环境配置导致的问题。笔者在一次偶然情况下解决了一个调用外网服务概率性失败的问题。在此将排查过程发出来,希望读者遇到...

45520
无毁的湖光-Al

从MySQL源码看其网络IO模型

MySQL是当今最流行的开源数据库,阅读其源码是一件大有裨益的事情(虽然其代码感觉比较凌乱)。而笔者阅读一个Server源码的习惯就是先从其网络IO模型看起。于...

61740
无毁的湖光-Al

分库分表中间件的高可用实践

分库分表中间件在我们一年多的锤炼下,基本解决了可用性和高性能的问题(只能说基本,肯定还有隐藏的坑要填),问题自然而然的就聚焦于高可用。本文就阐述了我们在这方面做...

23930
无毁的湖光-Al

用C语言撸了个DBProxy 顶

笔者在阅读了一大堆源码后,就会情不自禁产生造轮子的想法。于是花了数个周末的时间用C语言撸了一个DBProxy(MySQL协议)。在笔者的github中给这个DB...

47430
无毁的湖光-Al

从linux源码看epoll

在linux的高性能网络编程中,绕不开的就是epoll。和select、poll等系统调用相比,epoll在需要监视大量文件描述符并且其中只有少数活跃的时候,表...

88441
无毁的湖光-Al

解Bug之路-记一次对端机器宕机后的tcp行为

机器一般过质保之后,就会因为各种各样的问题而宕机。而这一次的宕机,让笔者观察到了平常观察不到的tcp在对端宕机情况下的行为。经过详细跟踪分析原因之后,发现可以通...

76530
无毁的湖光-Al

MySQL多版本并发控制机制(MVCC)-源码浅析

作为一个数据库爱好者,自己动手写过简单的SQL解析器以及存储引擎,但感觉还是不够过瘾。<<事务处理-概念与技术>>诚然讲的非常透彻,但只能提纲挈领,不能让你玩转...

53531
无毁的湖光-Al

从linux源码看socket的close

笔者一直觉得如果能知道从应用到框架再到操作系统的每一处代码,是一件Exciting的事情。上篇博客讲了socket的阻塞和非阻塞,这篇就开始谈一谈socket的...

90670
无毁的湖光-Al

文件解析中间件,用SQL去读取各种格式的文件! 顶

(1)完全支持MySql协议 (2)完全支持Mybatis-Generator (3)支持Schema和Table (4)支持客户端创建Schema和Ta...

17530

扫码关注云+社区

领取腾讯云代金券