场景
用户发布文章需要推送到粉丝列表的收件箱,但推送过程服务器宕机导致A用户收到而B用户未收到引发的数据不一致问题。
场景复现
1.遍历粉丝列表依次向Redis收件箱推送
2.发送命令,同时关闭Redis
3.关闭Java程序,查看Redis中数据,发现有的粉丝推送成功,有的失败
解决方案
简单来讲 就是为了确保所有用户都收到了信息,其实不影响SpringBoot有重连机制,除非你Java程序和Redis都崩溃,否则当Redis重新启动后Java程序还会向Redis发送信息,当前线程会一直阻塞在那里。