C/S架构的应用程序开发实战(二)

2021/9/6 17:07:28

本文主要是介绍C/S架构的应用程序开发实战(二),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

后端服务

后端用python实现,采用flask web框架。

可从github上获取flasky源码,在此基础上进行业务逻辑的实现。

程序结构如下:

├── app # 业务逻辑实现代码
│ ├── common # 公共函数实现,这里主要是数据库相关的增删改查接口实现,以及算法模型的推断功能实现
│ ├── init.py
│ ├── main # 视图函数实现,即供前端调用的API实现
│ └── pycache
├── config.py # 工程配置文件
├── log.txt # 日志文件
├── manage.py # 工程启动入口文件
└── start.sh # 启动脚本

启动服务

Gunicorn是一个unix上被广泛使用的高性能的Python WSGI UNIX HTTP Server,这里通过gunicorn部署我们的后端服务。
启动脚本start.sh如下:

gunicorn -w 4 -t 200 -b 0.0.0.0:8900 manage:app

执行脚本即可。

docker容器封装服务

该项目后端业务功能执行涉及算法模型的推断,算法模型依赖环境较复杂,为了后续方便部署,将服务封装成一个docker镜像,启动docker容器即可启动服务。

1.构建镜像

通过Dockerfile构建镜像。

# Dockerfile
FROM {dockerhub仓库名}/caffe_python2.7and3.5_flask:v1.0
WORKDIR /vblt_server
ENV PYTHONPATH=/workspace/caffe/python
CMD ["nohup", "./start.sh"]
docker build -t vblt_server:v1.0 .
2.创建容器并启动服务
docker run --net=host --restart=always --privileged -v /root/vblt_server:/vblt_server --name=vblt_server2 vblt_server:v1.0

mysql服务

同样可以采用docker方式部署mysql服务。
该项目涉及两个服务,后台业务及mysql,为了简化部署并便于维护的,可以通过docker-compose进行docker容器的部署和管理。在此不展开,后续有时间再写。



这篇关于C/S架构的应用程序开发实战(二)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程