Tornado框架介绍(入门篇).ppt

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Tornado 框架介绍 —— 入门篇 Tornado web server 是使用Python编写出來的一个极轻量级、高可伸缩性和非阻塞IO的Web服务器软件,著名的 Friendfeed 网站就是使用它搭建的。 Tornado 跟其他主流的Web服务器框架(主要是Python框架)不同是采用epoll非阻塞IO,响应快速,可处理数千并发连接,特别适用用于实时的Web服务。Tornado在设计之初就考虑到了性能因素,旨在解决C10K问题,这样的设计使得其成为一个拥有非常高性能的框架。 什么是 Tornado? 延伸阅读:C10K问题 基于线程的服务器,如Apache,为了传入的连接,维护了一个操作系统的线程池。Apache会为每个 HTTP连接分配线程池中的一个线程,如果所有的线程都处于被占用的状态并且尚有内存可用时,则生成一个新的线程。尽管不同的操作系统会有不同的设置,大多数Linux发布版中都是默认线程堆大小为8MB。Apache的架构在大负载下变得不可预测,为每个打开的连接维护一个大的线程池等待数据极易迅速耗光服务器的内存资源。 大多数社交网络应用都会展示实时更新来提醒新消息、状态变化以及用户通知,这就要求客户端需要保持一个打开的连接来等待服务器端的任何响应。这些长连接或推送请求使得Apache的最大线程池迅速饱和。一旦线程池的资源耗尽,服务器将不能再响应新的请求。 异步服务器在这一场景中的应用相对较新,但他们正是被设计用来减轻基于线程的服务器的限制的。当负载增加时,诸如Node.js,lighttpd和Tornodo这样的服务器使用协作的多任务的方式进行优雅的扩展。也就是说,如果当前请求正在等待来自其他资源的数据(比如数据库 查询或HTTP请求)时,一个异步服务器可以明确地控制以挂起请求。异步服务器用来恢复暂停的操作的一个常见模式是当合适的数据准备好时调用回调函数。 自从2009年9月10日发布以来,Tornado已经获得了很多社区的支持,并且在一系列不同的场合得到应用。除FriendFeed和Facebook外,还有很多公司在生产上转向Tornado,包括Quora、Turntable.fm、 Bit.ly、Hipmunk以及MyYearbook等。 总之,如果你在寻找你那庞大的CMS或一体化开发框架的替代品,Tornado可能并不是一个好的选择。 Tornado并不需要你拥有庞大的模型建立特殊的方式,或以某种确定的形式处理表单,或其他类似的事情。它所做的是让你能够快速简单地编写高速的Web 应用。如果你想编写一个可扩展的社交应用、实时分析引擎,或RESTful API,那么简单而强大的Python,以及Tornado正是为你准备的! Hello, world 安装方式 pip install tornado 或 east_install tornado 示例 import tornado.ioloop import tornado.web class MainHandler(tornado.web.RequestHandler): def get(self): self.write(Hello, world) application = tornado.web.Application([ (r/, MainHandler), ]) if __name__ == __main__: application.listen(8888) tornado.ioloop.IOLoop.instance().start() 一、REST 的一些个人理解: 1、一种软件架构风格,设计风格而不是标准,只是提供了一组设计原则和约束条件. 2、REST是以资源为中心的. 3、REST充分利用或者说极端依赖HTTP协议,对资源的CRUD(创建、读取、更新、删除)操作对应着不同的HTTP请求方法来处理: (1)若要在服务器上创建资源,应该使用 POST 方法; (2)若要检索某个资源,应该使用 GET 方法; (3)若要更改资源状态或对其进行更新,应该使用 PUT 方法; (4)若要删除某个资源,应该使用 DELETE 方法。 二、常用发送HTTP请求的工具 : 1、命令行 curl 2、浏览器插件 Postman 扩展: 三、Tornado实现http请求实例: 四、ORM简介 未完,待续,谢谢!

文档评论(0)

wuyoujun92 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档