Pusher vs Pubnub vs开源Socket.io / SignalR.net / Faye / jWebSocket [关闭]


72

目前,我正在评估Pusher和PubNub,以在主要的Web客户端和服务器之间启用双向实时通信。两者看起来都令人印象深刻,Pusher的文档似乎更好,而PubNub的可扩展性和可靠性显然是他们的强项。

但是,在我管理预算时,我担心Pusher和PubNub的成本可能成为我们的问题,因此我正在考虑使用一种开源替代方案-我主要研究Socket.io,Faye和jWebSocket。

尽管我自己运行服务,但我有一些担忧:

  • 有人真的曾经将Socket.io或其他开源解决方案扩展到多台服务器吗?PubNub声称每秒处理100万条消息!,我有点怀疑Socket.io是否可以在没有大量服务器的情况下做到这一点,如果它可以工作的话。
  • 我应该使用开源解决方案吗?付费服务中是否有某些功能可能会让我错过呢?
  • 如果我的服务器仍在AWS上,延迟真的会成为一个问题吗?PubNub位于多个位置,因此我希望这可以减少延迟,尽管如果需要将一条消息从美国发送到日本,那么在日本拥有一台服务器将无济于事,因为它仍然需要以一种或另一种方式到达那里。

感谢您的建议。


3
替代品的一个很好的列表中存在quora.com/What-are-alternatives-to-pusher-com :存在像其他的免费/付费/开放式解决方案firebase.com goinstant.com fanout.io firehose.io
帕特里克·汉金森

GoInstant服务已终止。2014
user12121234

Answers:


21

Faye使用Node.js对我来说很容易设置,并且最初在测试中表现出色。但是,即使我的应用程序的负载只有大约10个请求/每秒(约3000个打开的连接),当我将其切换到活动的node.js时,CPU使用率还是固定为100%(我的机器上有8个内核可供1个)。我对此有些失望,并期待更多。

我考虑过使用Redis或在不同端口上运行多个节点实例,然后在应用程序端拆分负载,但从PubNub的价格来看,将所有这些负载卸载给他们似乎要容易得多。

在尝试了Pusher和PubNub之后,我发现PubNub对我来说更便宜而且延迟也更短(我托管在新加坡,而Pusher对我来说大约是500ms,而我的应用程序PubNub对我来说是〜250ms往返)。如果您托管在美国,则两者之间的差异可能会小得多。

我也看过Ape-Server,但是没有找到用于设置发布/订阅模型的任何好的教程/文档,因此跳过了它-但也许您比我更聪明,并且将拥有更好的体验:)


19
您什么意思是“当我将其切换到实时node.js时”?您是说将其移至生产服务器?服务器是共享托管方案吗?在AWS中?有什么规格?另外,每秒10个请求,就是一个发布者和3000个订阅者?因此,从本质上讲,您在一秒钟内传递30,000条消息?如果这样的话,单核对我来说真是太好了,我希望它能与之挂钩。请阐明您的测试方法。谢谢。
slartibartfast 2012年

关于Ape,他们写了“易于安装”:ape-project.org/download/APE_Complete_Package.html :)
denis.peplin 2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.