Django 微服务架构实现与开发环境搭建
1. Django 微服务架构实现
在 Django 应用中,当用户填写改进建议表单并点击发送后,应用会将发送确认邮件的任务进行卸载处理,以确保即使邮件发送需要 10 秒,用户体验也能保持流畅。下面将介绍两种实现方式。
1.1 使用 RabbitMQ 微服务卸载任务
RabbitMQ 有多种从生产者向消费者/工作者发送消息的方法,这里采用工作队列方法,RabbitMQ 会在多个工作者之间分配任务。
- 目录结构
impl1/
│ ├── django_rabbitmq/
│ │ └── settings.py
│ ├── scripts/
│ │ ├── __init__.py
│ │ └── worker.py
│ ├── suggestion/
│ │ ├── templates/suggestion
│ │ │ └── suggestion.html
│ │ │ ├── forms.py
│ │ │ ├── producer.py
│ │ │ └── views.py
│ └── manage.py
- 设置
在settings.py
中,需要定义INSTALLED_APPS
包含django_extensions
和suggestion.apps.Sug