tornado-简介和原理

tornado-设计初衷

  1. 追求小而精

  2. epoll IO多路复用和协程

  3. 支持WebSocket

  4. 单线程程序(GIL限制,本身某种意义上不启动多进程就是单线程程序)

  # Python GIL介绍详情

tronado应用场景

  1. 大量的http请求连接(大量的用户请求,要求并发性和高性能)

tronado-基础-Hello World-Web架构

from tornado import web, ioloop

class HelloHandler(web.RequestHandler):
    def get(self, *args, **kwargs):
        self.write("Hello 北门吹雪")

def make_app():
    return web.Application([
        ("/", HelloHandler),
    ])

if __name__ == ‘__main__‘:
    app = make_app()
    app.listen(8000)
    ioloop.IOLoop.current().start()

  

tornado请求原理图

  

经验:

  1. tornado高性能Web原理是利用Linux epoll IO多路模型和协程异步编程

  2. tornado Web框架核心模块是 web 和 核心事件循环模块是 IOLoop

原文地址:https://www.cnblogs.com/2bjiujiu/p/9175429.html

时间: 2024-11-06 14:36:31

tornado-简介和原理的相关文章

Appium简介及原理

1.Appium简介 Appium是一个开源.跨平台的,适用于原生或混合移动应用(hybrid mobile apps)的自动化测试平台.Appium使用WebDriver(JSON wire protocol)驱动安卓和iOS移动应用.Appium的设计哲学是不要为了移动端的自动化测试而重新发明轮子,重新写一套惊天动地的api,也就是说webdriver协议里的api已经够好了,拿来改进一下就可以了.另外Appium可以把server放在任意机器上,哪怕是云服务器都可以,所以Appium和We

nagios简介与原理

1.Nagios简介 1.与cacti的区别 a) Cacti 1.Cacti比较着重于直观数据的监控,易于生成图形,用来监控网络流量.cpu使用率.硬盘使用率等可以说很在合适不过 2.通过SNMP监控数据 3.展示工具 4.用插件来增加模块做监控 b) nagios 1.比较注重于主机和服务的监控,并且有很强大的发送报警信息的功能 2.监控方式更多 3.配置灵活的监控工具 4.脚本和agent做监控 2.监控对象 a) 主机.主机组:服务器.虚拟机.网络设备 b) 服务/资源,服务组:http

tomcat简介及原理解说

Tomcat简介 作者:杨晓(http://blog.sina.com.cn/u/1237288325) 目录: ----Tomcat背景 ----Tomcat目录 ----Tomcat类加载 ----server.xml配置简介 ----web.xml配置简介 ----管理 ----tomcat原理解说 ----Tomcat Server的组成部分 ----Tomcat Server的结构图 ----配置文件$CATALINA_HOME/conf/server.xml的说明 ---Contex

rpc简介、原理、实例

简介 RPC(Remote Procedure Call,远程过程调用)是建立在Socket之上的,出于一种类比的愿望,在一台机器上运行的主程序,可以调用另一台机器上准备好的子程序,就像LPC(本地过程调用).越底层,代码越复杂.灵活性越高.效率越高:越上层,抽象封装的越好.代码越简单.效率越差.Socket和RPC的区别再次说明了这点.在传统的编程概念中,过程是由程序员在本地编译完成,并只能局限在本地运行的一段代码,也即其主程序和过程之间的运行关系是本地调用关系.因此这种结构在网络日益发展的今

tornado模板引擎原理

前言 老师问小明:已经a=1, 求a+1的值. 小明挠挠头,思考后回答:老师,a+1的结果是2. 以上是一个非常简单的例子,实际上就是一个模板编译过程. a=1,表示一个命名空间(namespace)中的一项,该命名空间中存在一个名称(name)为a,其值为1.在python里面,命名空间可以用数据结构字典来表示. a+1,实际上是一个非常简单的模板.这个模板里面有且只有一条规则a+1.本博文中所说的模板,实际上更类似一份空白的数学考卷.这份数学考卷中,有很多类似上面老师问小明的题目. 学生解决

简介、原理、基本使用

1.简介 Solr是一个开源的,企业级搜索服务器 用java语言编写.使用HTTP和XML进行数据传输 底层基于lucene,相当于是lucene在服务器端的一个产品 除了能返回搜索结果之外,还有包括高亮搜索关键字,方位导航,查询关键字拼写校验等等功能 2.原理图 其实基本对外就两部分,一部分是建索引接口(indexer),另外就是操作接口(webapp) 往下就对Lucene的包装,通过xml数据格式以及一些handler与其对接 3.建索引 (1)从数据库获取数据 (2)数据转换 (3)ad

【持久化框架】Mybatis简介与原理

从这篇博文开始我们学习一下Mybatis,希望大家提出宝贵的建议. 什么是Mybatis MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis .iBATIS一词来源于"internet"和"abatis"的组合,是一个基于Java的持久层框架.iBATIS提供的持久层框架包括SQL Maps和Data Access Objec

Mybatis 简介与原理

什么是Mybatis MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis .iBATIS一词来源于"internet"和"abatis"的组合,是一个基于Java的持久层框架.iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO). MyBatis参考资料官网:https://myb

Mybatis简介与原理

什么是Mybatis MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis .iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架.iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO). MyBatis参考资料官网:https://mybatis.github.io/

rpc简介、原理和实例

RPC(Remote Procedure Call,远程过程调用)是建立在Socket之上的,出于一种类比的愿望,在一台机器上运行的主程序,可以调用另一台机器上准备好的子程序,就像 LPC(本地过程调用).越底层,代码越复杂.灵活性越高.效率越高:越上层,抽象封装的越好.代码越简单.效率越差.Socket和RPC的区别再次说 明了这点.在传统的编程概念中,过程是由程序员在本地编译完成,并只能局限在本地运行的一段代码,也即其主程序和过程之间的运行关系是本地调用关系.因此 这种结构在网络日益发展的今