介绍
这篇博客是基于我自己项目中的邮箱验证码登录功能进行的总结
RabbitMQ和Redis的作用
RabbitMQ(异步处理)
基于RabbitMQ完成发送验证码的异步处理,提⾼验证码模块的吞吐量和响应速度
Redis(自动过期)
在 Redis 中可以使⽤ expire 命令设置⼀个键的⽣存时间,到时间后 Redis 会删除它。
所以选择 Redis 储存验证码
流程介绍
发送验证码
发送验证码请求 -> 生成验证码并存放到Redis中(300秒过期) -> 将发送验证码的请求发送给RabbitMQ的验证码队列中 -> 返回前端
接收验证码
验证码登录请求 -> 判断Redis中是否有验证码和是否正确 -> 如果有返回userId(举例)