【发布时间】:2010-10-20 19:29:10
【问题描述】:
我想了解事件驱动网络服务器的基础知识,我知道其中之一是 Tornado,但非常感谢任何其他信息。
谢谢
【问题讨论】:
-
为什么这个问题不合适,有一个关闭请求?
标签: webserver
我想了解事件驱动网络服务器的基础知识,我知道其中之一是 Tornado,但非常感谢任何其他信息。
谢谢
【问题讨论】:
标签: webserver
【讨论】:
Web 服务器需要处理并发连接。有很多方法可以做到这一点,其中一些是:
最后,区别在于如何存储每个连接状态(显式在上下文结构中,隐式在堆栈中,隐式在延续中,...)以及如何在连接之间调度(让操作系统调度器来做,让操作系统轮询原语来做,...)。
【讨论】:
事件驱动方式旨在解决C10K问题。它将传统的“推模型”转变为“拉模型”,以创建非阻塞事件 I/O。简而言之,事件驱动架构避免产生额外的线程和线程上下文切换开销,并且通常以更好的性能和更少的资源消耗告终。
来自 Rails 开发人员的一些概述,还包括类比: http://odysseyonrails.com/articles/8
【讨论】: