聊聊 Go 并发安全

并发安全是最基本的常识,也是最容易忽视的前提,更考验一个工程师 enginner 的语言基本功和代码规范。

并发访问修改变量,会导致各种不可预期的结果,最严重的就是程序 panic, 比如常见的 go 语言中 map concurrent read/write panic

Read More

Head Of Line Blocking 困扰两个月的线上问题

我们最近遇到一个问题,内部某个服务是有状态的,有些请求需要在内部做转发,但是请求偶尔发生超时,随机超时,并且没有任何规律,和 QPS 无关,一般 2s 内都恢复了。
经过两个月排查,不断的 narrow down, 最终排除业务代码问题,定位 root cause 是 tcp restranmit 引起的 HOL(head of line) blocking, 己经给 aws 提了 ticket, 至于重传的原因还在与 aws 确认中。

Read More

小白的 redis 1 安全漏洞

大概在 2011 年第一次听说 redis, 由于其丰富的数据结构,高性能,经过几年的发展 redis 己经成了构建高并发服务的标配。吐糟一下 aws redis 真贵…

在赶集网的时候开始真正使用 redis, 陆陆续续也做过相关的开发工作,也遇到过各种各样的问题,所以想系统的梳理下 redis 相关的知识。计划将小白的 redis做成一个系列,由浅入深,分享从简单的数据结构使用到底层原理的实现,涉及到部份 c 代码。

Read More