Python课程设计 第 41 / 52 篇

协程控制

Chapter24

任务名称 - 协程控制

任务简介

  1. 深入理解协程的理论
  2. 掌握查看源码的方式
  3. 熟练掌握gevent模块的用法

社群话题

Python能够提升执行效率的协程是怎么样实现的

详细说明

协程并不都都能提升效率,它是从软件上控制之后的结果,与计算机硬件无关

打卡要求

我们之前分别写过百度和腾讯的产品的简易版,而阿里作为三巨头的老大显然也不能错过,阿里比较有特点产品之一就是双十一淘宝天猫的高并发量,从2009年开始提出双十一的概念,最初的前几年为了实现大数据量的处理,一方面由阿里云CTO王坚带领团队研究云计算架构,另一面淘宝团队就在研究Nginx,力求把它的并发量发挥到极致,现在我们就来自己写一个吧。

写一个简易的Nginx,我们只需要写TCP协议的套接字服务端,客户端发送任何数据给服务端,服务端只需要回一个Hello World+ 客户端地址就可以了,越快越好,要求如下:

1 首先确保数据安全,不论并发还是并行,回的内容不能出现重复的数字
2 能够从一定程度上抵御 SYN洪水攻击
3 使用池的概念,在机器硬件承受范围内自己加以控制
4 程序不能出现明显的阻塞
5 进程,线程,协程综合使用,至少能处理每秒百万的并发量