Introduction to Tornado  阅读笔记 一 引言

1.1 tornado是什么

tornado 是使用python编写的一个强大的,可以扩展的web服务器 在处理严峻的网络流量的时候,表现出足够的健壮,编写创建的时候足够的轻量级,能够用在大量的应用和工具中 不同于最多只能达到10000个并发连接的传统的网络服务器,tornado设计之初旨在解决c10K问题,是一个非常高性能的框架 它拥有处理安全性,用户验证,社交网络和外部服务(数据库,网站api)进行交互的工具

C10K问题
传统的apache

基于线程的服务器,如apache, 为了传入的连接,维护了一个操作系统的线程池, apache会为每个http连接分配线程池中的同一个线程, 如果所有的线程都处于被占用的状态并且尚有内存可以使用,则生成一个新的线程 不同的操作系统会有不同的设置,大多的系统中默认的线程堆的大小是8mb apache的架构在大负载下变得不可预测, 为每个打开的连接维护一个大的线程池等待数据,会迅速耗光服务器的内存资源

tornado

大多数的设计网络应用都会展示实时更新来提醒新消息,状态变化以及用户通知 要求客户端需要保持一个打开的连接来等待服务器的任何响应, 这些长连接或者推送的请求使得apache的最大线程池迅速饱和 一旦线程池的资源耗尽,服务器将不再响应新的请求 异步服务器在这一场景中的应用相对较新 它们正是被设计来减轻基于线程的服务器的限制的 当负载增加时候,诸如node.js,lighttpd,tornodo这样的服务器使用协作的多任务的方式进行优雅的扩展 如果当前的请求正在等待来自其他资源的数据(数据库查询或者http请求),一个异步服务器可以明确地控制,挂起请求 异步服务器用来恢复暂停的操作的一个常见的模式:当合适的数据准备好时候,调用回调函数

1.2 两个实例

实例一.png
实例一详解
实例一详解
实例一详解
实例二.png
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 137,188评论 19赞 139
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 43,028评论 11赞 349
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 180,490评论 25赞 708
  • 今天一天看着高七期的死党们不停的在群里塞着各种幸福,我们外围得人也被滋养的不得了。 回想在走的高七期那时支离破碎,...
    好彩妹阅读 623评论 0赞 0
  • 来自 Mattt Thompson 利用代码块 Pragma Pragma Mark #pragma mark -...
    维维_iOS阅读 400评论 0赞 0

友情链接更多精彩内容