Django 导出类接口工程项目创建
本文主要以导出类接口为例,阐述Django 开发接口的工程创建过程。
工程技术架构
在接口服务中,Django主要作为一个请求接受与转发的中转站。 将 mysql , celery,mq 有机地结合。
在Django端主要的架构如上图所示,data server即是一个Django的服务进程。上图是一个文件导出应用的后台技术架构。
- 业务前端发送带参数请求,将请求打到她们自己的后台服务器上(Django),这时候,服务器会做两件事情,(1)为这个请求生成一个UUID,并将这个请求消息的相关参数存入到mysq 中,(2)将这个消息存入到MQ中。
- 消费者进程(Celery)读取MQ中的消息,并按照消息中的参数,请求查询CH(clickhouse),将查询结果写到S3文件中。并将S3的链接与执行状态写到mysql库中。
- 前端轮询接口,查询到该任务的状态信息后,即成功消息,与S3文件链接链接。生成生成相应的下载页面。
- 页面点击下载后,通过S3的文件链接,下载S3文件。
Pycharm中,创建工程文件
本部分描述了Python 环境包安装,与项目目录与子应用目录创建过程
1. 建议每个Django工程都有自己的Python 虚拟环境。并在相应的虚