gpt4 book ai didi

java - Fast NIO,Java 异步 HTTP 服务器

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:16:57 24 4
gpt4 key购买 nike

关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。












想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。

7年前关闭。




Improve this question




关注 this question实际上,我也正处于为我的一个项目寻找合适的 HTTP 容器的阶段。我查看了几个容器,但我仍然不确定哪一个最适合高负载 AJAX 请求。 Apache Mina看起来很有前途,但也相对复杂。名为 AsyncWeb 的异步 Web 服务器实现似乎已与 Mina 合并,但我还找不到它的任何生产版本。在另一个问题中,我推荐了 Simple HTTP我非常喜欢的服务器,因为它...非常简单、清晰和干净,但我仍然不知道它是否符合目的。

此外,我不确定选择哪种请求处理概念:

  • 为每个传入连接创建一个调度程序线程(优化当然可能包括一个线程池和一个调度队列),这将完成所有工作。优点可能是,我不必处理那么多同步问题,但它可能会大大降低高负载下的吞吐量。
  • 因为它将是一个高度模块化的应用程序,所以“流水线”(我猜可能有一个更合适的术语;)方法也可以工作:创建固定数量的线程,每个线程用于特定任务。
    例如。一种用于请求处理 -> 一种用于 header 反序列化(如果我以不同的格式输入输入,例如提交的 HTML 表单、XML-RPC、JSON 等)-> 一种用于“ Controller 调度”(对这些数据做任何我想做的事情) -> 和一个用于以所需格式(JSON、XML、HTML 等)序列化输出并将每个请求通过这些级别移动直到完成。可能更难实现,但我有固定数量的线程(数量也可能取决于硬件)和清晰的关注点分离。

  • 任何可能适合的框架和两种不同的处理方法的经验?

    最佳答案

    你可能想看看 Jetty ,尤其是 Hightide

    Hightide is pre-configured with state-of-the-art Ajax communication libraries such as DWR, ActiveMQ-Web (JMS to the browser), and the Bayeux protocol (also known as cometd). Deploying your applications on Hightide means that it will scale smoothly thanks to a combination of Jetty's smart IO layer and continuations mechanism



    具体来说,已经投入了大量工作来为 AJAX 优化 Jetty。见 this blog entry更多细节

    关于java - Fast NIO,Java 异步 HTTP 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1137748/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com