基于RabbitMQ+Redis标准的验证码登录流程

基于RabbitMQ+Redis标准的验证码登录流程

介绍

这篇博客是基于我自己项目中的邮箱验证码登录功能进行的总结

RabbitMQ和Redis的作用

RabbitMQ(异步处理)

基于RabbitMQ完成发送验证码的异步处理,提⾼验证码模块的吞吐量和响应速度

Redis(自动过期)

在 Redis 中可以使⽤ expire 命令设置⼀个键的⽣存时间,到时间后 Redis 会删除它。
所以选择 Redis 储存验证码

流程介绍

发送验证码

发送验证码请求 -> 生成验证码并存放到Redis中(300秒过期) -> 将发送验证码的请求发送给RabbitMQ的验证码队列中 -> 返回前端

接收验证码

验证码登录请求 -> 判断Redis中是否有验证码和是否正确 -> 如果有返回userId(举例)