用户重置邮箱或密码需要发送邮箱验证码的情况是否需要队列?

作者站长头像
站长
· 阅读数 12

如题,比如业务中用户设置个人信息,需要通过邮箱验证重置邮箱或者密码,这里发送邮箱验证码的业务是否需要队列来执行?

回复
1个回答
avatar
test
2024-07-11

如果你现在业务中已经有队列了,在使用队列了,那就需要。

发邮件一般都需要访问第三方的服务器,而这期间,除了第三方服务器不可靠外,还有可能网络原因不可靠,借助队列来处理的话这些对于用户来说都是不易感知的,而且你还可以在队列中进行重试等,而如果使用同步的方式,用户的请求就会被一直挂起。

对于发邮件,队列还适用于需要补偿的场景,比如 A 邮件服务商挂了,现在需要切换到 B 邮件服务商,如果是同步处理的,那么之前的请求就相当于都被丢弃了,而对于队列来说,失败的任务仍然有记录,你可以补偿发送。

如果你现在没有用到队列,那可以选择不用,但是更推荐使用。

回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容