记录一下linux 5.14 中 listen 中 backlog参数 的实现

2021-08-20
阅读 9 分钟
2.3k
源码版本:[链接]d992fe5318d8d7af9510b879439a3c7f283da442代码里有大量的函数指针,对应不同的协议簇,在看源码的时候必然有很多猜测成分,但最终的结论是可信的,主要是这个实现很合理。

4.15.0-1034-gcp内核TCP SACK BUG导致的请求无返回

2019-11-02
阅读 6 分钟
2.1k
某天更新发现某服务收到请求但客户端无法收到返回。幸运的是,客户端同学能在测试环境重现问题。2分法找到首个故障版本并进行了回退。故障版本仅仅修改了snd_buf,理论上不应导致该问题。

linux keepalive探测对应用层socket api的影响

2019-04-18
阅读 7 分钟
4.5k
大部分人都知道tcp的keepalive. 假设读者知道keepalive会如何触发. 这篇文章想讨论keepalive触发后, 对socket使用者的影响.

docker swarm mode 下容器重启IP改变引发的 CLOSE_WAIT 问题

2019-02-22
阅读 2 分钟
4.3k
如下图. server docker restart后, client端写入的日志丢失, 并且无报错.因为不支持时序图, 把时序图代码嵌入在代码里.

gen_tcp参数总结

2019-01-12
阅读 7 分钟
3.8k
在用elixir 写 rpc server/client时, 需要对传入gen_tcp的参数做一些考量. 如, 部分参数应该允许用户修改, 比如sndbuf recbuf, 让用户根据使用场景调节, 部分参数应该屏蔽, 减少使用理解成本.故, 深挖了一下gen_tcp的option