我正在寻找多线程彗星服务器库 - 我需要的是在线程池上工作的异步io(使用epoll)(4-8个线程)。如果它是多线程的,龙卷风将是理想的。
为何选择多线程?我需要处理和提供可能来自每个连接用户的数据 - 它可以在使用数据库的龙卷风实例之间进行同步,但即使nosql也会过大减速 - 几乎每个请求都会最终导致数据库写入/更新 - 即使使用异步也是如此司机不是个好主意。我可以将所有内容存储在本地易失性内存中,因此它可以非常快 - 但必须在单个进程上运行以避免进程间通信。我不需要扩展 - 单个盒子就足够了 - 但它必须快速。一些数据将存储在MongoDB中 - 但是mongo查询的数量将是普通请求的5%。
重要的是 - 信号量(和其他更高级别的方法)对我来说不是火箭科学所以我不怕同步。
要求:
拥有async mongo驱动程序也很好
我已经研究过Boost ASIO,它似乎能够做我需要的事情 - 但我想专注于应用程序 - 而不是编写http请求处理。
我读过关于Tornado(看似理想但是单线程),Simple(不确定它是否可以异步处理请求并在异步调用后返回数据),BOOST ASIO(非常好,但太低级了)