1.在发送短信验证码,发送邮箱验证邮件时,因为要链接使用阿里云、网易邮箱的相关API,会出现 django项目会卡顿的情况
2.同步和异步的图示对比
总结:想要实现上图中所说的功能,我们需要将项目与发送短信的服务分离,既要分离还得实现任务消息的传递,此时就需要我们今天学习的消息队列
消息队列(MQ)
1.什么是消息队列
消息队列,即MQ(Message Queue)
消息队列是典型的:生产者、消费者模型
生产者不断向消息队列中生产消息,消费者不断的从队列中获取消息。因为消息的生产和消费都是异步的,而且只关心消息的发送和接收,没有业务逻辑的侵入,这样就实现了生产者和消费者的解耦。
通过MQ的方式,发送邮件、短信时可以做到只是发送一条消息,就可以立刻给用户呈现响应结果,而不用等待较长发送成功的时间,给用户带来更好的体验
如果以后有其它系统也依赖类似的消息,同样监听消息即可,非常方便做到扩展