多线程彗星服务器库

时间:2011-06-09 05:54:19

标签: asynchronous comet epoll

我正在寻找多线程彗星服务器库 - 我需要的是在线程池上工作的异步io(使用epoll)(4-8个线程)。如果它是多线程的,龙卷风将是理想的。

为何选择多线程?我需要处理和提供可能来自每个连接用户的数据 - 它可以在使用数据库的龙卷风实例之间进行同步,但即使nosql也会过大减速 - 几乎每个请求都会最终导致数据库写入/更新 - 即使使用异步也是如此司机不是个好主意。我可以将所有内容存储在本地易失性内存中,因此它可以非常快 - 但必须在单个进程上运行以避免进程间通信。我不需要扩展 - 单个盒子就足够了 - 但它必须快速。一些数据将存储在MongoDB中 - 但是mongo查询的数量将是普通请求的5%。

重要的是 - 信号量(和其他更高级别的方法)对我来说不是火箭科学所以我不怕同步。

要求:

  • async io
  • 非阻塞
  • 数以千计的并发连接
  • FAST
  • 基本HTTP功能(GET,POST,cookies)
  • 异步处理请求的能力(执行某些操作,使用回调进行异步调用(例如数据库查询),处理回调,返回数据)
  • 线程池
  • C ++ /爪哇/ Python的
  • 简单轻便

拥有async mongo驱动程序也很好

我已经研究过Boost ASIO,它似乎能够做我需要的事情 - 但我想专注于应用程序 - 而不是编写http请求处理。

我读过关于Tornado(看似理想但是单线程),Simple(不确定它是否可以异步处理请求并在异步调用后返回数据),BOOST ASIO(非常好,但太低级了)

1 个答案:

答案 0 :(得分:1)

好吧,经过多次挖掘后我决定改变技术......我决定在TCP和Netty

之上创建自己的协议