下午系统突发故障,登录不上,登录验证成功后马上又退出了登录。因前端时间出现过redis master节点故障导致登录失败的问题,故赶紧先看下redis情况,的确有些节点连不上,联系了redis运维进行恢复。
redis恢复后,发现还是大概率登不上,应用是容器多集群部署,为了方便排查问题,先把一个集群的流量进行隔离,只留一个集群。奇怪的是,发现可以登录了,那说明跟这集群有关系。
搜索了应用日志,找到了一些401错误码的接口返回,这些就是马上退出登录的原因。再接下来查看日志,发现了:"parse id token error: Token used before issued",这错误表示校验token的时间早于签发时间。马上查看集群的时间,的确集群时间早了一分多钟(该集群下午存储出了故障,网络堵塞导致时钟同步有问题),导致验签失败。