是流一个可行的选择? 会不会有在服务器端,这取决于我选择的性能差异? 比其他用于此情况下,一个好?

我正在与服务器端运行Tomcat GWT应用程序。要了解我的需求,同时想象一些更新股票的股价。

有帮助吗?

解决方案

你想的过程是客户端或服务器驱动?换句话说,你想新的数据,只要它是可推送到客户端,还是宁愿将客户端请求时,他们认为合适的新的数据,尽管这可能不是一次/秒?什么情形产生,该客户端将能够留下来等待一个答案?即使你期望的事件一次/秒会发生,如何长时间才能从客户端的请求,并从服务器返回的之间?如果它是一秒钟以上,我希望你的偏向推动事件给客户,但反过来,我预计投票会好起来的。如果响应比间隔时间较长,那么你基本上流无论如何,因为有客户端收到的最后一个时间准备一个新的事件,所以客户基本上可以轮询不断,总是接收事件 - 在这种情况下,流数据实际上是更轻便,因为你从过程移除连接/谈判开销。

我会怀疑服务器负载是基于客户端的(拉)认购更高,而不是流配置,因为客户将不得不每次都重新谈判,而不是留下一个连接打开的连接,但在流模型中的每个打开的连接将需要服务器资源以及。这取决于权衡之间的谈判过程中如何积极的是对如何需要为每个打开的连接的内存/处理什么。我不是专家,虽然如此,可以存在的其它因素。

更新:这家伙关于与贸易谈判长轮询和流之间的取舍,他似乎是说,与HTTP / 1.1,再连接的协商过程中是微不足道的,所以这并不是太大的问题。

其他提示

这其实并不重要。连接重新协商开销是HTTP1.1那么苗条,你不会注意到任何显著的性能差异这种或那种方式。

长轮询的好处是兼容性和可靠性 - 与代理没有问题,港口,检测断开等

“真正的”流媒体的优势将可能被开销减少,但如前所述,这样的好处是多,远远低于它做出来是。

个人而言,我发现一个精心设计的彗星服务器是对于大量的更新和/或服务器推送的最佳解决方案。

当然,如果你正在寻找推送数据,流媒体似乎提供更好的性能,如果您的服务器可以处理连续连接的预期数量。但还有另外一个问题,你不解决:你的Internet或Intranet?流媒体已经报道有跨代理一些问题,就像你所期望的。因此,对于一个通用的解决方案,你可能会得到更好的长轮询服务 - 为企业内部网,在那里你了解网络基础架构,流很可能给你一个更简单,性能更好的解决方案。

StreamHub GWT彗星适配器被精确地设计用于该场景串流股票报价。例如在这里: GWT流股票行情的。它同时更新几支股票的股价。我认为,实施下面是彗星其基本上流过HTTP。

编辑:它使用每个浏览器不同的技术。引述网站:

  

有几个不同的底层   技术用于实现彗星   包括隐藏的iframe,   XMLHttpRequest的/ SCRIPT长轮询,   和嵌入式插件,如Flash。   引入HTML 5支持WebSockets   在未来的浏览器将提供   为HTTP替代机制   流。 StreamHub使用“最适合”   利用最高效的方法   并且对于每个可靠的技术   浏览器。

流将更快,因为数据仅仅穿过导线的一种方式。与轮询,等待时间的至少两倍。

轮询更有弹性的网络中断,因为它不依赖于连接上保持打开。

我会去投票只为稳健性。

对于实时股票价格我绝对保持连接打开,并确保断开用户警报/重新连接。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top