PingCAP 故障注入利器 fail-rs

年初分享过聊聊 Go failpoint 使用,感兴趣的可以看看看这篇文章

Read More

Fail at Scale 读后感

Fail at Scale, Reliability in the face of rapid change 是 Facebook 2015 年发布的一篇论文,分享 Facebook 是如何看待故障,以及如何构建稳定性的。现在看论文里少了些东西,但是整体依然有参考意义

Read More

Rust trait 入门

学 Rust 的一定离不开 trait, 告诉编译器某些类型拥有的,且能够被其他类型共享的功能,官方的定义叫做 Defining Shared Behavior 共享行为,同时还可以对泛型参数进行约束,将其指定为某些特定行为的类型。读过 你真的了解泛型嘛 朋友肯定知道,rust 的 trait 和 go interface 非常像,但是远比后者强大

Read More

如何阅读 redis 源码

有的网友想要学习 redis 源码的方法,鸽了一个月,今天分享我的学习方法以及路径,学习步骤不限于 redis, 换成其它开源软件套路也是一样。强调一下,没有速成方法,没有捷径,只有苦行僧一般的坚持才能做好任何一件事情,与君共勉 ^^ 以前写过 redis 系列,感兴趣的可以订阅话题

Read More

分享一个 UT failed 引出的思考

我司使用 mono repo, 某个服务 ut 失败,导致别人无法构建。查看下源代码以及 ut case, 发现槽点蛮多,讲一下如何修复,展开聊一下写单测要注意的一些点,和设计模式中的概念依赖反转、依赖注入、控制反转

Read More

Rust 为什么需要内部可变性

本文参考 rust book ch15 并添加了自己的理解,感兴趣的可以先看看官方文档

Read More

剖析智能指针 Rc Weak 与 Arc

我们知道 rust ownership 有三原则:

Read More

如何正确设置连接保活

本文来自十年老粉小六子投稿,内容比较干,大家平时肯定也会遇到

由于线上存在网络问题,会导致 GRPC HOL blocking, 于是决定把 GRPC client改写成 HTTP client

Read More

硬核!如何在容器中做时间的漫游者

题目稍有些标题党,最近公司想用 chaos-meshk8s 做混沌测试,开始做前期的调研,发现 pingcap 对时间的注入非常硬核,而且最终方案居然是实习生构思出来的 ^^

Read More

真实环境下 Go 大内存服务优化实践

本文是在上家的 case, 以前很多人在公开大会上拿该案例做分享,所以觉得有印象的同学勿喷,虽然冷饭,但是原创

有时大字很不理解的现象,明明 call RPC 时设置了超时时间 timeout, 但是 Grafna 看到 P99 latency 很高,why ???

Read More