【发布时间】:2012-01-25 10:23:35
【问题描述】:
我研究了如何在 asp.net / MVC 上实现类似彗星的聊天。 我发现它可以通过长轮询来完成..
关于长轮询,因为它使线程保持打开状态,所以会产生许多并发连接,从而使其性能变差(或为零),因为 IIS 不适用于许多并发连接
现在的商业工具:Pokein、SignalR、SocketIO、Now.Js(跳过付费工具,免费很漂亮:)) 据我所知,所有这些都使用长轮询,那么它们实际上是为了提高 IIS 中的性能(所有这些都可以与 asp.net 一起使用)..
我还发现 Facebook 使用 Erlang(不知道如何使用它)来实现它,当然还有价值 1 亿美元的硬件(平衡 7000 万用户)。并且 FB 使用长轮询而不是某些彗星服务器(据我的研究)。
我想在 asp.net MVC 3 上实现可扩展的长轮询 我找到的两个决赛是Here 和here
我只想知道哪个更好以及为什么.. 以及在给定的工具中哪个工具最好
【问题讨论】:
-
我意识到这并不能真正回答你的问题;但以防万一它有帮助。如果您还没有看过它,可以添加到选择组合中的东西可能是 iisnode,让您能够在 iis github.com/tjanczuk/iisnode 中托管 nodejs 应用程序
-
其实我也有同样的问题。只要轮询将为每个客户端保持打开的连接。我们打开的连接越多,IIS 就越慢。这是长轮询的一个已知缺点。我们知道一些现有的库 Pokein、SignalR、SocketIO 使用长轮询并且具有更好的性能。任何人都可以分享他们如何提高 IIS 性能。
标签: asp.net-mvc comet long-polling server-push