什么是事件驱动的Web服务器

Ano*_*ous 26 webserver

我想了解事件驱动的Web服务器的基础知识,我知道其中一个是Tornado,但是非常感谢任何其他信息.

谢谢

小智 27

这里有一个很好的类比:

http://daverecycles.tumblr.com/post/3104767110/explain-event-driven-web-servers-to-your-grandma

  • +1完美的例子![这](http://www.slideshare.net/simon/evented-io-based-web-servers-explained-using-bunnies)也很棒. (2认同)

nin*_*alj 17

Web服务器需要处理并发连接.有很多方法可以做到这一点,其中一些是:

  • 每个连接的进程.
  • 每个连接的进程,并有一个准备使用的进程池.
  • 每个连接一个线程.
  • 每个连接一个线程,并有一个准备使用的线程池.
  • 一个进程,在回调上处理每个事件(接受的连接,可读取的数据,可以写入客户端,......).
  • 以上的一些组合.
  • ...

最后,区别最终在于如何存储每个连接状态(显式地在上下文结构中,隐式地在堆栈中,隐式地在延续中......)以及如何在连接之间进行调度(让OS调度程序执行此操作) ,让OS轮询原语来做,...).