现象:每天早上客服人员在后台创建客服事件时,创建失败。当我们重启这个微服务,就可以在后台正常创建客服事件了。第二天早上创建又会失败,微服务必须重新启动。
初步排查:创建客服事件时,会通过Redis的自增操作,生成唯一的分布式ID作为事件id。代码如下:
return redisTemplate.opsForValue().increment("计数", 1);
而且恰好这个增量操作每天早上都会返回null
,导致后续出现一系列逻辑错误,无法保存客服事件。当微服务重启后,这个增量操作又恢复正常了。