开篇: 为什么要读Tornado源码?

点击“python编程军火库”,“置顶”公众号重磅干货,第一时间送达

2020年注定是一个不平凡的一年--鼠年,也是一个轮回的开始,从易经讲:变一切之始也。在开始我们这个专题之前请允许我借助我自己的这个平台向目前仍然奋战在一线的医务工作以及各服务在一线的工作人员表达最崇高的敬意!我们做不了什么但请每个人心存敬畏、感恩的生活下去。技术没有温度,但请技术人都能去关心和爱护你身边的每一个人!

建议每个看到这篇文章的人都能打开完整的看一次

本篇介绍:为什么要学习tornado源码?

背景介绍
可能有些人不知道tornaodo为何物,ok 我简单的介绍一下:我们现在所知道的Tornado是基于Bret Taylor和其他人员为FriendFeed所开发的网络服务框架,当FriendFeed被Facebook收购后得以开源。不同于那些最多只能达到10,000个并发连接的传统网络服务器,Tornado在设计之初就考虑到了性能因素,旨在解决C10K问题(有不清楚C10k的后续我会作为补充材料提供给大家),这样的设计使得其成为一个拥有非常高性能的框架。此外,它还拥有处理安全性、用户验证、社交网络以及与外部服务(如数据库和网站API)进行异步交互的工具。

我们学什么
1.理解 Tornado 的内部实现,使用 tornado 进行 web 开发将更加得心应手。
2.如何实现一个高性能,非阻塞的 http 服务器。
3.各种网络编程的知识,比如 epoll、select到底有啥区别(高段位面试必问)
4.python 编程的各种高级操作(你不是老感觉写业务没意思吗,那就一起学学高级操作)
5.设计模式教科书级别的案例
......

我们如何学
我将会带着大家从以下几个层次学习这套异步非阻塞框架

  1. 整体认识(先跑起来,先用起来)
  2. 整体流转逻辑
  3. 每部分核心源码解读
  4. 穿插一些设计模式、网络知识、操作系统知识

说明:
1.本人也是抱着再次学习的态度与大家分享在学习这套优秀的框架的心得体会。在书写或阐释一个概念的时候难免会有思考不到位的地方,如有错误之处还望指出,感谢大家的理解。
2.写这个专栏其实2018年就有这个念头,当时自知水平有限无法驾驭,2020年时机成熟,我会花费大量精力去写好这个专栏,还望大家喜欢,请多多支持我的原创作品,在此先谢谢大家!