tronnado

tronado 源码框架分析

心已入冬 提交于 2019-12-21 10:52:26
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 一. Tornado是什么? Facebook发布了开源网络服务器框架Tornado,该平台基于Facebook刚刚收购的社交聚合网站FriendFeed的实时信息服务开发而来.Tornado由Python编写,是一款轻量级的Web服务器,同时又是一个开发框架。采用非阻塞I/O模型(epoll),主要是为了应对高并发 访问量而被开发出来,尤其适用于 comet 应用。 二. 为什么要阅读Tornado的源代码 Tornado由前google员工开发, 代码非常精练, 实现也很轻巧, 加上清晰的注释和丰富的demo, 我们可以很容易的阅读分析tornado. 通过阅读Tornado的源码, 你将学到: * 理解Tornado的内部实现, 使用tornado进行web开发将更加得心应手 * 如何实现一个高性能,非阻塞的http服务器 * 如何实现一个web框架 * 各种网络编程的知识, 比如epoll * python编程的绝佳实践 三. 从http服务器开始 Tornado不仅是一个web开发框架, 还自己实现了一个http服务器. 谈到http服务器, 我们自然想到 C10K. 其中介绍了很多种服务器的编程模型, tornado的http服务器采用的是: 多进程 + 非阻塞 + epoll + pre-fork