2019 01 19
2019-01-19
事故类型
异常报警
事故过程
- 14:29 诗奎执行了全量
- 14:30 收到了 bshop 和 station、多个客户、多个 URL 的 502 报警
- 14:31 报警恢复
事故时长
一分钟
事故原因
为了灰度,诗奎在 A1-service-worker-1 和 worker-2 的 nginx 上配置了 rel_20190119_task.cluster.gm 域名,将这两个域名的流量转发到某一个 Django 工程上。
在下午 14:29 执行全量的时候,诗奎把这个域名从两台 worker 的 nginx 中去除了。诗奎预计到这样会有无法访问的问题,但是由于 rel_20190119_task.cluster.gm 域名上只有测试账号,所以没有什么关系。
在去除域名后,估计还有测试同学访问了这个灰度,然后 A1-service-lb 发现这个域名在两台 worker 上都无法访问,于是把两台 worker 的 IP (而不仅仅是这个域名)都标记成不可用。于是其他客户的流量也被 A1-service-lb 拒绝了。
事故反思
gm_async_task 尚不能通过 group id 进行灰度。所以才需要手动配置域名,所以才导致了这个问题。
解决思路
尽快支持 gm_async_task 的 group id 灰度。