文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
第 9 章 消息队列和 Celery
消息队列(Message Queue,简称 MQ)提供异步通信协议,可以实现进程间通信或同一进程的不同线程间通信。其中“消息”是指包含必要信息的数据。消息的发送者发送完毕后立即返回,消息被存储进队列中,对这个消息感兴趣的消费者会订阅消息并接收和处理它。使用消息队列的好处如下:
- 应用解耦。消息是平台无关和语言无关的,消息队列可以应对多变的产品变更。
- 异步通信。可以缩短请求等待的时间,使用专门处理请求的消费者来执行,提高 Web 页面的吞吐量,尤其是瞬间发生的高流量情况,消息队列非常有助于顶住访问压力。
- 数据持久化。未完成的消息不会因为某些故障而丢失。
- 送达保证。消息队列提供的冗余机制保证了消息确实能被处理。除非消费者明确表示已经处理完这个消息,否则这个消息可以被放回队列中以备其他消费者处理。
本章主要包含如下内容:
- 使用 Beanstalkd。
- 解释 AMQP,深入理解 RabbitMQ,介绍 RabbitMQ 插件系统,RabbitMQ 集群的故障转移方法等。
- 介绍 Celery 的架构,运行起一个真实的应用,在 Flask 应用中使用 Celery 等功能。
- 深入 Celery,介绍 Celery 的依赖及独立用法、Worker 管理、监控等高级功能。
- 笔者总结的一些实践经验。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论