在这个问题的基础上,我现在正在寻找适合我的项目的正确HTTP容器。我看了几个容器,但仍然不确定哪一个最适合高负载的AJAX请求。 Apache Mina看起来很有前途,但相对复杂。异步Web服务器实现称为AsyncWeb似乎已与Mina合并,但我还没有找到任何生产版本。在另一个问题中,我推荐了Simple HTTP服务器,因为它很简单,清晰和干净,但我仍然不知道它是否适用于此目的。
此外,我不确定选择哪种请求处理方法:
为每个传入连接创建一个调度程序线程(优化可能包括线程池和调度队列),该线程执行所有工作。优点可能是我不必处理那么多同步问题,但在高负载下可能会显著降低吞吐量。
因为它将成为高度模块化的应用程序,“流水线”(可能有更合适的术语)方法也可能奏效:创建固定数量的线程,每个线程用于特定任务。 例如,一个用于请求处理 ->一个用于标头反序列化(如果我以不同格式获取输入,如提交的HTML表单,XML-RPC,JSON等) ->一个用于“控制器分派”(执行我想要对这些数据执行的任何操作) ->一个用于将输出序列化为所需格式(JSON,XML,HTML等),并将每个请求移动到这些级别,直到完成。可能更难实现,但我有固定数量的线程(数量也可以取决于硬件)和关注点的清晰分离。
有没有任何适合这两种不同处理方法的框架的经验?