Python 全栈系列10 - 三层结构
说明
目标是一个简单,又具有弹性的架构
内容
示意图:
图中分为三层:
- Layer1(部署层) : 主机级别的概念。假设有了一个云主机,如何去规划。首先是一些配置类的,包括端口、反向代理、文件目录这些,还有一些必要的软件。同时主机还需要有授权认证(部分在主机端,部分在应用端)。
- Layer2(逻辑接口层): 虚机(容器)级别概念。主机已经搭建了服务可以运行的基本条件,最简单的方式应该是把服务环境搬到主机,然后使用工具进行维护(主机命令, 代码更新)
- Layer3(计算层): 函数包级别概念。这个级别下假设已经有服务端了,可以在本地端执行计算,和服务端进行交互即可。
整体的部署方式大致是:
- 1 配置好了接口转发等配置,特别是文件目录(服务代码,数据)
- 2 制作好服务环境镜像,拉取到服务器;制作好计算环境镜像,拉取到计算层的服务器
- 3 使用git发布代码到相应的文件目录
- 4 使用部署工具(脚本)批量启动、维护容器
服务就不说了,其他几个概念需要梳理一下
概念 | 作用 | 备注 |
---|---|---|
config 主机配置 | 设置主机的安全,端口,文件目录等信息 | 如何用nginx设置 |
authorization 授权 | 主机的ssh访问授权,普通客户访问授权,路由 | 系统设置,网络服务 |
api 接口 | 服务对外的连接接口, 授权及资源限制 | flask api |
docker 镜像、容器 | 快速移植服务环境的工具 | 镜像制作、数据挂载(共享与独立) |
implementation 部署 | 管理、监控进程的工具 | Supervisor |
relatation 逻辑上的关联 | 监控服务端的逻辑链条 | 图 |
msg manager 消息经理 | 实现消息服务的可靠(主备)以及高效(分布) | 一个调度算法 |