etcd clientv3的lease keepalive租约频繁续期bug 排查小记

在使用 coreos etcd的 lease 租约特性过程中,遇到一次集群负载极高的现象,表现是leader 节点大量的TIME-WAIT状态TCP 连接,系统内存逐渐上升,CPU 居高不下的问题,本文记录了我排查这个 bug 的经历,最终定位到是 etcd client v3包里的lease keepalive函数的一处 bug,这个 bug 存在与clientv3的所有版本上,如果你也用了相同的版本跟用法,可以关注一下…

Continue reading


golang游戏项目中使用 tls、https 与etcd v3服务通讯

在全球同服的游戏架构中,网络结构一般设计成集群的形式,用户随便在哪个服务器节点上都可以玩,也就要求每个节点的环境都是一致的,节点之间是可以自由下线上线的,用户是可以在每个节点自由注册的…等等,各种需求的出现,会需要一款能主动发现节点上线线,能统计全局所有服务器负载、状态,能实时下发配置等信息到所有节点的这么一款软件,那么就用到ETCD了。这里给大家介绍 ETCD 在游戏服务器集群中的使用场景,以及环境配置。

Continue reading


Clash Royale皇室战争的黑盒技术分析

今年开春,Clash Royale《皇室战争》在国内上架,又是SuperCell公司的大作,想必会非常火。在去年年底我层玩过封测版本,掉线比较严重,但仍没影响到我对它的好奇,我很想知道它的网络同步是如何实现的,战斗那块是帧同步吗?全是客户端计算的吗?这些疑问一直困扰着我,这次在国内上线了,网络状况也好,调试起来会更会舒心,更方便。

Continue reading