梦醒人间

LV1
发表了文章

一个 bad file descriptor 的问题

可以认为是一个简单 read request,write response 的 http server,用 wrk 压的话,也能正常运行:

梦醒人间
发表了文章

Go channel 的妙用

昨天在内网上看到一篇讲数据库连接的文章,列出了一些 sql 包的一些源码,我注意到其中取用、归还连接的方式非常有意思——通过临时创建的 channel 来传递连...

梦醒人间
发表了文章

事故现场之依赖了不该依赖的 host ip

先介绍背景:我们维护了两个服务,一个对外服务,承接流量,称之为主服务,主服务会调用各种第三方 RPC 服务,获取各种字段,拼在一个大的 model 上。其中有一...

梦醒人间
发表了文章

[译]提案:在Go语言中增加对持久化内存的支持

作者:Jerrin Shaji George、Mohit Verma、Rajesh Venkatasubramanian、Pratap Subrahmanya...

梦醒人间
发表了文章

写一个 panic blame 机器人

最近接手了一个“公共”服务,负责维护它的稳定性。代码库有很多人参与“维护”,其实就是各种业务方使劲往上堆逻辑。虽然入库前我会进行 CR,但多了之后,也看不过来,...

梦醒人间
发表了文章

高并发服务遇 redis 瓶颈引发的事故

元旦期间 订单业务线 告知 推送系统 无法正常收发消息,作为推送系统维护者的我正外面潇洒,无法第一时间回去,直接让 ops 帮忙重启服务,一切好了起来,重启果然...

梦醒人间
发表了文章

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

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

梦醒人间
发表了文章

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

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

梦醒人间
发表了文章

初级程序员常犯错误一览

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

梦醒人间
发表了文章

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

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

梦醒人间
发表了文章

无人值守的自动 dump(一)

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

梦醒人间
发表了文章

无人值守的自动 dump(二)

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

梦醒人间
发表了文章

喜提 redir contributor

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

梦醒人间
发表了文章

packetdrill 简介

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

梦醒人间
发表了文章

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

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

梦醒人间
发表了文章

在 Go 语言中 Patch 非导出函数

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

梦醒人间
发表了文章

深度阅读之《Concurrency in Go》

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

梦醒人间
发表了文章

fasthttp 快在哪里

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

梦醒人间
发表了文章

深度解密Go语言之sync.map

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

梦醒人间
发表了文章

惊!空 struct 地址竟然不相等

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

梦醒人间

个人简介

个人成就

扫码关注云+社区

领取腾讯云代金券