码农桃花源

52 篇文章
10.2K 次阅读
21 人订阅

全部文章

梦醒人间

Go http client 连接池不复用的问题

当 http client 返回值为不为空,只读取 response header,但不读 body 内容就执行 response.Body.Close(),那...

5310
梦醒人间

Go pprof 快速分析 CPU 高负载问题

公司一个同事使用 Go Websocket 开发了 k8s 在线调试服务,该服务也部署在 k8s 集群中,没几天运维那边通告说 cpu 100% 高负载了,还把...

4410
梦醒人间

初级程序员常犯错误一览

最近接手其他人做的项目,导致之前的一些幻想破灭了。因为刚工作的时候做项目是php,而php本身的web框架一般只简单区分mvc,稍微麻烦一些的会多个librar...

6920
梦醒人间

用 subsetting 限制连接池中的连接数量

内网使用服务发现后,服务与其它服务的实例之间使用一条 TCP 长连接进行通信。这种情况下常见的做法是按照 registry 下发的 host:port 列表来直...

6910
梦醒人间

无人值守的自动 dump(一)

Go 项目做的比较大(主要说代码多,参与人多)之后,可能会遇到类似下面这样的问题:

8420
梦醒人间

无人值守的自动 dump(二)

之前在这篇无人值守(一)[1]简单介绍了我们针对线上抖动问题定位的工具的设计思路,思路很简单,技术含量很低,是个人都可以想得到,但是它确实帮我们查到了很多很难定...

5120
梦醒人间

喜提 redir contributor

看多了 Go 源代码,看一看应用,尤其是比较短小且有趣的应用代码,感觉很有意思,而且举重若轻。

8630
梦醒人间

packetdrill 简介

packetdrill 是一个跨平台的脚本工具,可以用来测试整个 TCP/UDP/IP 网络栈实现的正确性和性能,从系统调用一直到硬件网络接口,从 IPv4 到...

13770
梦醒人间

极端情况下收缩 Go 进程的线程数

除了 allgs 之外,当前 Go 创建的线程也是没法退出的,比如这个来自 xiaorui.cc 的例子,我简单做了个修改,能从网页看到线程:

8020
梦醒人间

在 Go 语言中 Patch 非导出函数

TLDR; 使用 supermonkey[1] 可以 patch 任意导出/非导出函数。

8030
梦醒人间

深度阅读之《Concurrency in Go》

很多朋友可能都知道,年前我从滴滴跑路,来了字节跳动,并且很快就写了篇传播甚广的弱智找 bug 文章:《“���”引发的线上事故》,之后就再也没动静了……

13510
梦醒人间

fasthttp 快在哪里

坊间传言 fasthttp 在某些场景下比 nginx 还要快,说明 fasthttp 中应该是做足了优化。我们来做一些相关的验证工作。

13220
梦醒人间

深度解密Go语言之sync.map

工作中,经常会碰到并发读写 map 而造成 panic 的情况,为什么在并发读写的时候,会 panic 呢?因为在并发读写的情况下,map 里的数据会被写乱,之...

26630
梦醒人间

惊!空 struct 地址竟然不相等

Go 语言里的空 struct{} 是一个特殊的结构,因为编译器优化的关系,会导致我们拿空 struct 指针做比较的时候出现一些意外的结果。之前有人提过相关的...

12830
梦醒人间

“���”引发的线上事故

最近遇到了一起依赖升级 + 异常数据引发的线上事故,教训惨痛,本文对此进行回故和总结。

18010
梦醒人间

深度解密Go语言之sync.pool

最近在工作中碰到了 GC 的问题:项目中大量重复地创建许多对象,造成 GC 的工作量巨大,CPU 频繁掉底。准备使用 sync.Pool 来缓存对象,减轻 GC...

26420
梦醒人间

Go Modules 的智障版本选择

之前 go mod 用的比较少,而且一直听社区有各种抱怨,所以也兴趣寥寥。新公司的项目直接使用了 go mod,本来觉得无非是个简单的工具,不需要学习,结果在一...

22020
梦醒人间

Go 协作与抢占

我们在分析调度循环[1]的时候总结过一个问题:如果某个 G 执行时间过长,其他的 G 如何才能被正常地调度?这便涉及到有关调度的两个理念:协作式调度与抢占式调度...

32710
梦醒人间

聊聊 g0

很多时候,当我们跟着源码去理解某种事物时,基本上可以认为是以时间顺序展开,这是编年体的逻辑。还有另一种逻辑,纪传体,它以人物为中心编排史事,使得读者更聚焦于某个...

14830
梦醒人间

defer 链如何被遍历执行

去年开始写文章的第一篇就是关于 defer,名字比较文艺:《Golang 之轻松化解 defer 的温柔陷阱》,还被吐槽了。因为这篇文章,到《Go 夜读》讲了一...

11710

扫码关注云+社区

领取腾讯云代金券