Python 全栈系列10 - 三层结构

说明

目标是一个简单,又具有弹性的架构

内容

示意图:
Python 全栈系列10 - 三层结构
图中分为三层:

  • Layer1(部署层) : 主机级别的概念。假设有了一个云主机,如何去规划。首先是一些配置类的,包括端口、反向代理、文件目录这些,还有一些必要的软件。同时主机还需要有授权认证(部分在主机端,部分在应用端)。
  • Layer2(逻辑接口层): 虚机(容器)级别概念。主机已经搭建了服务可以运行的基本条件,最简单的方式应该是把服务环境搬到主机,然后使用工具进行维护(主机命令, 代码更新)
  • Layer3(计算层): 函数包级别概念。这个级别下假设已经有服务端了,可以在本地端执行计算,和服务端进行交互即可。

整体的部署方式大致是:

  • 1 配置好了接口转发等配置,特别是文件目录(服务代码,数据)
  • 2 制作好服务环境镜像,拉取到服务器;制作好计算环境镜像,拉取到计算层的服务器
  • 3 使用git发布代码到相应的文件目录
  • 4 使用部署工具(脚本)批量启动、维护容器

服务就不说了,其他几个概念需要梳理一下

概念 作用 备注
config 主机配置 设置主机的安全,端口,文件目录等信息 如何用nginx设置
authorization 授权 主机的ssh访问授权,普通客户访问授权,路由 系统设置,网络服务
api 接口 服务对外的连接接口, 授权及资源限制 flask api
docker 镜像、容器 快速移植服务环境的工具 镜像制作、数据挂载(共享与独立)
implementation 部署 管理、监控进程的工具 Supervisor
relatation 逻辑上的关联 监控服务端的逻辑链条
msg manager 消息经理 实现消息服务的可靠(主备)以及高效(分布) 一个调度算法