Skip to content

2019 01 19

2019-01-19

事故类型

异常报警

事故过程

  1. 14:29 诗奎执行了全量
  2. 14:30 收到了 bshop 和 station、多个客户、多个 URL 的 502 报警
  3. 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 灰度。