前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >02 | Tornado源码全貌:上帝视角看Tornado

02 | Tornado源码全貌:上帝视角看Tornado

作者头像
python编程从入门到实践
发布2020-03-11 11:34:06
1K0
发布2020-03-11 11:34:06
举报
文章被收录于专栏:python编程军火库

正文共:1610 字 8 图 预计阅读时间:5 分钟 本篇主要从宏观的角度来为大家呈现 Tornado 源码的全貌,从上帝视角来感受一下源码的组织结构。 有人说学技术不就是coding,conding,coding ...... 这种学习方式只见树木不见森林,没有宏观的概念,当与别人聊起的时候都是说的各种细节,不能站在更高的角度来认识和思考这们技术,so还是希望大家学习东西的时候可以: 了解背景(这项技术什么背景下提出的)-->整体把握(这项技术是解决什么问题的?有哪些技术亮点?可能带来什么新的问题?)-->写demo运行(可以了解技术架构,代码组成等)-->找自己感兴趣的点研究(一个大项目的源码很多少则几千行多则几万行甚至几十万行)-->工作中使用体会(在读源码)...... 首先,我们感受一下源码的包中有哪些东西(这个是Tornado3.1.1版本):

如果有人想提前看Tornado源码注解(3.1.1版本的)可以先看看我的github: https://github.com/haishiniu/tornado3.1.1_search

(此图是本人读完3.1.1版本后梳理的框架图) 本次研究我会使用我们生产环境中的4.x版本进行分析 其次,我么来看一下核心的py文件,做一部分简单介绍: Tornado模块分类 1. Core web framework tornado.web — 包含web框架的大部分主要功能,包含RequestHandler和Application两个重要的类 tornado.httpserver — 一个无阻塞HTTP服务器的实现 tornado.template — 模版系统 tornado.escape — HTML,JSON,URLs等的编码解码和一些字符串操作 tornado.locale — 国际化支持 2. Asynchronous networking 底层模块 tornado.ioloop — 核心的I/O循环 tornado.iostream — 对非阻塞式的 socket 的简单封装,以方便常用读写操作 tornado.httpclient — 一个无阻塞的HTTP服务器实现 tornado.netutil — 一些网络应用的实现,主要实现TCPServer类 3. Integration with other services tornado.auth — 使用OpenId和OAuth进行第三方登录 tornado.database — 简单的MySQL服务端封装 tornado.platform.twisted — 在Tornado上运行为Twisted实现的代码 tornado.websocket — 实现和浏览器的双向通信 tornado.wsgi — 与其他python网络框架/服务器的相互操作 4. Utilities tornado.autoreload — 生产环境中自动检查代码更新 tornado.gen — 一个基于生成器的接口,使用该模块保证代码异步运行 tornado.httputil — 分析HTTP请求内容 tornado.options — 解析终端参数 tornado.process — 多进程实现的封装 tornado.stack_context — 用于异步环境中对回调函数的上下文保存、异常处理 tornado.testing — 单元测试 本期就先简单的介绍一下tornado的全貌,下期开始我们会进入代码阶段,再次强调:本篇虽没有讲解具体的技术,但本篇是这个系列最重要的,没有之一!这是,后续都是!好了下期再见,期待你的加入学习!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-03-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 python编程从入门到实践 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档