Django中异步方案RabbitMQ和Celery

本文介绍了在Django中使用RabbitMQ和Celery实现异步处理的方式。首先讲解了RabbitMQ的生产者消费者模式、安装与Python访问RabbitMQ的步骤。接着,详细阐述了Celery的介绍、构成以及通过短信验证的实例展示如何使用Celery创建任务、队列和工作进程。
摘要由CSDN通过智能技术生成

RabbitMQ

1.生产者消费者设计模式

  • 最常用的解耦方式之一,寻找中间人(broker)搭桥,保证两个业务没有直接关联。我们称这一解耦方式为:生产者消费者设计模式
    在这里插入图片描述
    总结:
    生产者生成消息,缓存到消息队列中,消费者读取消息队列中的消息并执行。

2.RabbitMQ介绍

  • RabbitMQ是消息队列,消息队列是消息在传输过程中保存消息的容器
  • 现在主流的消息队列有:RabbitMQ、ActiveMQ、Kafka
    • RabbitMQ和ActiveMQ比较
      • 系统吞吐量:RabbitMQ好于ActiveMQ
      • 持久化消息:RabbitMQ和ActiveMQ都支持
      • 高并发和可靠性:RabbitMQ好于ActiveMQ
    • RabbitMQ和Kafka比较
      • 系统吞吐量:RabbitM弱于Kafka
      • 可靠性和稳定性:RabbitMQ好于Kafka
      • 设计初衷:Kafka是处理日志的,是日志系统,所以并没有具备一个成熟MQ应该具备的特性。
  • 综合考虑:选择RabbitMQ作为消息队列

3.安装RabbitMQ

1.安装Erlang(以windows为例)

  • 由于 RabbitMQ 是采用 Erlang 编写的,所以需要安装 Erlang 语言库。

  • erlang下载
    download win64

  • 安装erlang
    使用下载资源exe执行安装后,记录安装的目录文件夹路径,例如:D:\software\Erlang

  • 配置环境变量
    计算机–>属性–>高级系统配置–>高级–>环境变量–>系统变量–>Path 追加路径 D:\software\Erlang\erl9.3\bin

  • 测试erlang是否安装成功
    以管理员运行命令提示,cmd到erlang文件夹bin目录下,输入
    erl
    出现下图则安装成功
    在这里插入图片描述

    2.安装RabbitMQ

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值