2

我需要一个起点。我从 Yakov Fain 那里读到了关于码头和火焰的表演突破。

我意识到我们已经遇到了大约 1200 个并发用户的问题,一些消费者没有收到消息,cpu 受到了猛烈的攻击。

有人已经用 BlazeDS 尝试过这个 Nio 了吗?这也适用于Tomcat吗?从哪里开始,我需要什么来提高消息传递性能?

非常感谢!!!

4

1 回答 1

1

我建议在您定制 BlazeDS 以支持 NIO 之前,您应该分析您的应用程序并验证热点是否存在。您是否确认是 BlazeDS 网络堆栈导致消息丢失?您是否对代码进行了概要分析,以查看是否可以进行优化以更好地优化消息处理?

有些人实际上认为 Java NIO 实际上并没有提高吞吐量 - http://paultyma.blogspot.com/2008/03/writing-java-multithreaded-servers.html

我这样说是因为 BlazeDS 不支持 NIO,只有服务器的商业版本支持 - LCDS。LCDS 实际上设置它自己的 NIO 套接字并通过这些连接管理请求,绕过标准的 servlet 堆栈。为了获得 NIO 的支持,Yakov 说“要支持成千上万的并发用户,你还需要自定义 BlazeDS 的网络层”任何服务器的网络层。

于 2010-10-03T03:47:03.347 回答