1.先说下事故复盘结果:有人在DT前大量调用esi的assets接口,短时间高负载影响了esi服务/角色信息服务器,导致关机任务在关停esi/角色信息服务器创建快照/踢出玩家的流程中出现阻塞,关机任务超时告警后人为介入强制关停,此时距离原定关机时间已经过了数分钟。
2.接下来我从3v的视角来还原下当时游戏内发生了什么:我们都知道海盗靠禁用进击跃迁的bug来逃离泡泡阵,但此时有个问题:如何知道自己有没有卡出泡泡?这时候某个聪明的玩家不知道是自己想到了还是翻了欧服的discord(下图),想出了个馊主意。这里先补充个前置知识:esi是无法直接查玩家的xyz坐标的,只能查你船的资产id和所在星系,但是esi可以查资产的xyz坐标,船也是资产,查船的坐标就知道自己在哪下线了,算下和泡泡中心的欧式距离就行。当然,这位玩家选择了先把自己的无畏全撤出去,而不是第一时间和他的海盗同僚分享这个方法,当然这些都是后话。
3.延迟关服事故发生后,当天的dt时间大幅度拉长用于复盘,2cp发现了esi的资产接口在dt时突然被大量调用。这时候有人可能要问了,查个xyz坐标有什么开销?查坐标的接口似乎需要先执行一次资产的全量查询写入缓存,然后才能返回资产id对应的坐标,这个操作直接击碎了小水管(也不能完全排除此接口存在其他bug引发了此次事故)。细心的玩家应该能发现,随后的事故的day+1和+2的维护前后,资产接口都会从esi中被临时移除,直到最近几天彻底下架。
4.结论我就不说了,前面推论中的人名我也没点出来,免得有人说我泼脏水。


2.接下来我从3v的视角来还原下当时游戏内发生了什么:我们都知道海盗靠禁用进击跃迁的bug来逃离泡泡阵,但此时有个问题:如何知道自己有没有卡出泡泡?这时候某个聪明的玩家不知道是自己想到了还是翻了欧服的discord(下图),想出了个馊主意。这里先补充个前置知识:esi是无法直接查玩家的xyz坐标的,只能查你船的资产id和所在星系,但是esi可以查资产的xyz坐标,船也是资产,查船的坐标就知道自己在哪下线了,算下和泡泡中心的欧式距离就行。当然,这位玩家选择了先把自己的无畏全撤出去,而不是第一时间和他的海盗同僚分享这个方法,当然这些都是后话。
3.延迟关服事故发生后,当天的dt时间大幅度拉长用于复盘,2cp发现了esi的资产接口在dt时突然被大量调用。这时候有人可能要问了,查个xyz坐标有什么开销?查坐标的接口似乎需要先执行一次资产的全量查询写入缓存,然后才能返回资产id对应的坐标,这个操作直接击碎了小水管(也不能完全排除此接口存在其他bug引发了此次事故)。细心的玩家应该能发现,随后的事故的day+1和+2的维护前后,资产接口都会从esi中被临时移除,直到最近几天彻底下架。
4.结论我就不说了,前面推论中的人名我也没点出来,免得有人说我泼脏水。











