Python Sanic 高并发服务开发实战

7人 购买 好评度 -
用手机看

扫一扫继续用手机看

  • 微信扫码

  • QQ扫码

下载手机APP
收藏
  • 第 1 期
更多班级

第 1 期

支持随到随学,21年06月过期

¥553.22

本班因教学质量问题暂时不能报名。 查看详情

课程因违反平台规定暂时不能报名。

立即购买

课程概述

目录

评论

老师介绍

  • 天火

    天火

    超过十年的互联网技术研发经验,先后任职于腾讯、盛大、成都品果和成都实验楼。
简  介 本课程将带领大家使用 Sanic 这个 Python 异步 IO Web 框架,以及 AIOMySQL、AIORedis 等异步库来开发一个支持高并发的 API 服务。
由于本文档不能加链接,更多课程资料和答疑等信息请查看此文(blog.jaggerwang.net/jwcourse-python-sanic-high-currency-service-develop-in-practice/)。iOS 上购买苹果会抽成 35%,请尽量在网站和安卓上购买,不影响在 iOS 上观看,谢谢!
 
课程介绍
性能无法与 C/C++、Java、Go 等静态编译型语言比美,还有全局锁限制的 Python 注定就不适合开发高并发服务?如果你还这样认为,那就 Out 了。Python 现在已经拥有强大和成熟的 `asyncio` 模块,通过使用异步 IO,能够大幅提升像 Web 服务这样的 IO 密集型应用的并发性能。本课程将带领大家使用 Sanic 这个 Python 异步 IO Web 框架,以及 AIOMySQL、AIORedis 等异步库来开发一个支持高并发的 API 服务。学习完本课程,你会对 Python 的 AsyncIO 有一个透彻的理解,掌握如何异步处理 HTTP 请求和访问后端服务(MySQL、Redis),以及如何使用 Docker 来简化应用开发和部署。

本课程里所开发的围观 API 服务可作为本网校另外一门课程“Flutter 移动应用开发实战”里所开发的围观 APP 的后端 API 服务,有志于成为全栈工程师的同学可以选学。

适用人群
有 Python 语言基础,想进入 Python 后端服务开发领域的同学。

课程目录
Sanic Web 框架:轻轻松松实现高并发
Python AsyncIO 介绍:异步 IO 编程 So Easy
  • 为什么需要异步 IO?
  • Python AsyncIO 进化史
  • 高层 APIs
  • 低层 APIs
Sanic 介绍
  • 同步/异步、阻塞/非阻塞、并发/并行
  • 安装 Sanic
  • Hello World
  • 跟 Flask 性能对比
配置和日志
  • 配置来源
  • 内置配置
  • Python3 日志 API
  • 内置 Logger
  • 访问日志格式化参数
请求和响应
  • Request 对象的属性
  • RequestParameters 类型
  • CIMultiDict 类型
  • 自定义 query 参数解析方式
  • 响应内容给请求方
Cookie 和 Session
  • 什么是 Cookie 和 Session
  • 在 Sanic 应用里操作 Cookie
  • Cookie 属性
  • Sanic 没有内置 Session 支持
路由
  • 定义路由
  • 路由参数
  • 限定请求方式和 Host 请求头
  • 构建 URL
  • 严格匹配结尾 /
  • 自定义路由名字
  • 静态文件路由
蓝图
  • 什么时候需要蓝图(Blueprint)
  • 创建蓝图
  • 注册蓝图
  • 蓝图分组(BlueprintGroup)
  • 蓝图还支持以下 Sanic 应用特性
版本化、异常处理、中间件和监听器
  • 版本化
  • 异常处理
  • 中间件
  • 监听器
WebSocket 和流
  • WebSocket
SQLAlchemy SQL 工具包:告别裸写 SQL
介绍
  • 主要特点
  • ORM vs Core:连 Martin Fowler 都厌倦 ORM 了
引擎与连接
  • 引擎(Engine)
  • 连接池(Pool)
  • 创建引擎和连接
  • 使用引擎和连接
  • 执行结果(ResultProxy)
  • 结果行(RowProxy)
  • 事务
定义及创建表
  • 元数据(Metadata )
  • 表(Table)
  • 列(Column)
  • 列默认值(客户端)
  • 列默认值(服务端)
  • 外键约束
  • 唯一约束
  • 主键约束
  • 索引
  • 访问表定义
  • 创建和删除表
  • 反射(Reflect)已有表的定义
生成及执行语句
  • 语句(Statement)对象
  • 插入
  • 查询
  • 更新
  • 删除
手动构建语句
  • 表别名(Alias)和列标签(Label)
  • 操作符(Operator)
  • 联结(Conjunction)
  • 函数
  • 类型转换(Cast)
  • 文本 SQL
高级查询
  • 排序和分页
  • 分组
  • 去重
  • 连接(Join)
  • 标量(Scalar)查询
  • 关联子查询(Correlated Subquery)
  • 集合(Set)查询
围观 API 服务开发:亲自动手才有收获
搭建应用骨架:麻雀虽小五脏俱全
  • 创建项目及其 Python 虚拟环境
  • 编写应用配置
  • 编写应用入口
开发帐号 APIs
  • JSON 响应
  • 错误处理
  • 注册/登录/退出 API
  • 登录检查装饰器
  • 查询已登录用户 API
  • 编辑个人资料 API
  • 发送手机验证码 API
  • 使用 Postman 来测试 API
开发动态 APIs
  • 上传文件 API
  • 发布动态 API
  • 删除动态 API
  • 查询单个动态 API
  • 已发布动态 API
  • 赞/取消赞动态 API
  • 赞过的动态 API
  • 使用 Postman 来测试 API
开发用户 APIs
  • 查询单个用户 API
  • 关注/取消关注用户 API
  • 正在关注的用户 API
  • 粉丝 API
  • 关注用户的动态 API
  • 使用 Postman 来测试 API
Fire 管理命令编写
  • Fire 命令行应用框架介绍
  • 编写模型管理命令
APScheduler 定时任务运行
  • 动态统计
  • 用户统计
  • APScheduler 定时任务调度框架介绍
  • 编写定时任务管理命令
WebSocket 即时消息通信
  • 编写 WebSocket 连接管理器
  • 编写 WebSocket 请求处理器
  • 支持多机分布式服务
Docker 应用部署:一次构建处处运行
Docker 介绍
  • Docker 越来越流行的原因
  • Docker Engine
  • Docker 工作流程
Docker 镜像和容器
  • 概念
  • 分层存储
  • Registry 和 Repository(仓库)
  • Docker CLI 仓库操作
  • Docker CLI 镜像管理
  • Docker CLI 容器管理
Docker 镜像构建
  • 两种构建方式
  • Dockerfile 文件格式
  • Dockerfile 指令
  • 多阶段(Multi-stage)构建
Docker 存储
  • 三种存储方式
  • 绑定挂载
  • 临时文件系统
Docker 网络
  • 介绍
  • 网络驱动
  • Bridge 网络
  • Overlay 网络
  • Host 网络
Docker Compose
  • 适用场景
  • 主要特性
  • 用法示例
  • Compose CLI
  • Compose CLI 子命令
  • Compose 配置文件
  • 多机集群容器编排
使用 Docker 来简化围观 API 服务开发和部署
  • 编写 Dockerfile 镜像构建文件
  • 编写 Compose 应用部署文件
  • 使用 Compose 来部署应用
  • 在 VSCode 里使用远程容器来快速搭建开发环境

更新日志
  • 2019-08-03 课程发布

* 课程提供者:天火

老师还为你推荐了以下几门课程