欢迎来到天天文库
浏览记录
ID:39987785
大小:951.31 KB
页数:8页
时间:2019-07-16
《tornado框架介绍(入门篇)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Tornado框架介绍——入门篇Tornadowebserver是使用Python编写出來的一个极轻量级、高可伸缩性和非阻塞IO的Web服务器软件,著名的Friendfeed网站就是使用它搭建的。Tornado跟其他主流的Web服务器框架(主要是Python框架)不同是采用epoll非阻塞IO,响应快速,可处理数千并发连接,特别适用用于实时的Web服务。Tornado在设计之初就考虑到了性能因素,旨在解决C10K问题,这样的设计使得其成为一个拥有非常高性能的框架。什么是Tornado?延伸阅读:C10K问题基于线程的服务器,如Apache,为了传入的连接,维护了一个操作系统的
2、线程池。Apache会为每个HTTP连接分配线程池中的一个线程,如果所有的线程都处于被占用的状态并且尚有内存可用时,则生成一个新的线程。尽管不同的操作系统会有不同的设置,大多数Linux发布版中都是默认线程堆大小为8MB。Apache的架构在大负载下变得不可预测,为每个打开的连接维护一个大的线程池等待数据极易迅速耗光服务器的内存资源。大多数社交网络应用都会展示实时更新来提醒新消息、状态变化以及用户通知,这就要求客户端需要保持一个打开的连接来等待服务器端的任何响应。这些长连接或推送请求使得Apache的最大线程池迅速饱和。一旦线程池的资源耗尽,服务器将不能再响应新的请求。异步服
3、务器在这一场景中的应用相对较新,但他们正是被设计用来减轻基于线程的服务器的限制的。当负载增加时,诸如Node.js,lighttpd和Tornodo这样的服务器使用协作的多任务的方式进行优雅的扩展。也就是说,如果当前请求正在等待来自其他资源的数据(比如数据库查询或HTTP请求)时,一个异步服务器可以明确地控制以挂起请求。异步服务器用来恢复暂停的操作的一个常见模式是当合适的数据准备好时调用回调函数。自从2009年9月10日发布以来,Tornado已经获得了很多社区的支持,并且在一系列不同的场合得到应用。除FriendFeed和Facebook外,还有很多公司在生产上转向Torn
4、ado,包括Quora、Turntable.fm、Bit.ly、Hipmunk以及MyYearbook等。总之,如果你在寻找你那庞大的CMS或一体化开发框架的替代品,Tornado可能并不是一个好的选择。Tornado并不需要你拥有庞大的模型建立特殊的方式,或以某种确定的形式处理表单,或其他类似的事情。它所做的是让你能够快速简单地编写高速的Web应用。如果你想编写一个可扩展的社交应用、实时分析引擎,或RESTfulAPI,那么简单而强大的Python,以及Tornado正是为你准备的!Hello,world安装方式pipinstalltornado或east_installt
5、ornado示例importtornado.ioloopimporttornado.webclassMainHandler(tornado.web.RequestHandler):defget(self):self.write("Hello,world")application=tornado.web.Application([(r"/",MainHandler),])if__name__=="__main__":application.listen(8888)tornado.ioloop.IOLoop.instance().start()一、REST的一些个人理解:1、一种
6、软件架构风格,设计风格而不是标准,只是提供了一组设计原则和约束条件.2、REST是以资源为中心的.3、REST充分利用或者说极端依赖HTTP协议,对资源的CRUD(创建、读取、更新、删除)操作对应着不同的HTTP请求方法来处理:(1)若要在服务器上创建资源,应该使用POST方法;(2)若要检索某个资源,应该使用GET方法;(3)若要更改资源状态或对其进行更新,应该使用PUT方法;(4)若要删除某个资源,应该使用DELETE方法。二、常用发送HTTP请求的工具:1、命令行curl2、浏览器插件Postman扩展:三、Tornado实现http请求实例:四、ORM简介未完,待续,
7、谢谢!
此文档下载收益归作者所有