Asynchronous 多线程comet服务器库

Asynchronous 多线程comet服务器库,asynchronous,comet,epoll,Asynchronous,Comet,Epoll,我正在寻找多线程comet服务器库——我需要的是在线程池(4-8个线程)上工作的异步io(使用epoll)。如果Tornado是多线程的,它将是理想的 为什么是多线程?我需要处理和服务可能来自每个连接用户的数据-可以使用数据库在tornado实例之间同步,但即使nosql也会太慢-几乎每个请求都会以数据库写入/更新结束-即使使用异步驱动程序也不是一个好主意。我可以将所有内容存储在本地volataile内存中,因此速度非常快,但必须在单个进程上运行,以避免进程间通信。我不需要缩放-单盒就足够了-但

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

为什么是多线程?我需要处理和服务可能来自每个连接用户的数据-可以使用数据库在tornado实例之间同步,但即使nosql也会太慢-几乎每个请求都会以数据库写入/更新结束-即使使用异步驱动程序也不是一个好主意。我可以将所有内容存储在本地volataile内存中,因此速度非常快,但必须在单个进程上运行,以避免进程间通信。我不需要缩放-单盒就足够了-但它必须很快。一些数据将存储在MongoDB中,但mongo查询的数量将相当于正常请求的5%

重要的是——信号量(和其他更高层次的方法)对我来说不是火箭科学,所以我不怕同步

要求:

  • 异步io
  • 非阻塞
  • 数千个并发连接
  • 快速
  • 基本HTTP功能(获取、发布、cookies)
  • 异步处理请求的能力(做点什么,用回调进行异步调用(例如数据库查询),处理回调,返回数据)
  • 线程池
  • C++/Java/Python
  • 简单轻便
如果有异步mongo驱动程序也不错

我已经研究了Boost ASIO,它似乎能够完成我需要的工作——但我想专注于应用程序——而不是编写http请求处理


我读过(似乎很理想,但是单线程的),(不确定它是否可以异步处理请求并在异步调用后返回数据),(非常好,但级别太低)

好吧,在进一步挖掘之后,我决定改变技术。。。我决定在TCP和TCP之上创建自己的协议