0

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

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

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

要求:

  • 异步 io
  • 非阻塞
  • 数千个并发连接
  • 快速地
  • 基本 HTTP 功能(GET、POST、cookies)
  • 异步处理请求的能力(做某事,带回调的异步调用(例如数据库查询),处理回调,返回数据)
  • 线程池
  • C++/Java/Python
  • 简单轻便

也有异步 mongo 驱动程序会很好

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

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

4

1 回答 1

1

好吧,经过更多的挖掘,我决定改变技术......我决定在 TCP 和Netty之上创建自己的协议

于 2011-06-16T13:08:25.820 回答