2010-10-02 70 views
2

我需要从一开始。我从Yakov Fain读到关于在码头和blazeds上的表现突破。带有非阻塞IO的Jetty或Tomcat(servlet 3.0)

我意识到,我们已经有一些麻烦,约1200个并发用户,一些消费者不明白的消息和CPU是猛烈的炮火下。

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

太谢谢你了!

+0

更新:这是很久以前的事,但由于我们startet使用Jetty7(现Jetty8)与org.mortbay.jetty.asyncblazeds.AsyncAMFEndpoint的和长轮询感觉非常快流几乎实时的。如果有人对我们如何配置我们的应用程序感兴趣(需要发布很多内容),请随时提问。 – 2012-02-04 11:19:34

回答

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的网络层”我愿意猜测这个定制的网络层不是生产准备好的,而更像是一个原型,因为它非常难以可靠地定制任何服务器的网络层。

+0

这不是关于吞吐量,而是关于并发连接的数量。 – user359996 2010-10-14 04:48:00

+0

你是对的,但希望这将是标准并支持近期... – 2010-10-15 06:38:11

+0

的OP的原题引用雅科夫费恩(从Farata系统)是谁写的关于企业Flex应用程序的一个伟大的书,并在其中他提供定制NIO,真使用BlazeDS而不是LCDS推送消息端点。只要我们有像Jetty 7和Tomcat 7这样真正的servlet 3.0 API应用服务器,它就有效地否定了购买LCDS的必要性。 – HDave 2010-12-17 02:31:55