我正在评估Pusher和PubNub,以便在我的主要Web客户端和我的服务器之间实现双向实时通信。两者看起来都令人印象深刻,Pusher的文档看起来更好,PubNub的可扩展性和可靠性显然是他们的强项。
然而,由于我在管理预算,我担心Pusher& PubNub的成本可能会成为我们的问题,因此考虑使用其中一个开源替代品 - 我主要关注的是Socket.io,Faye和jWebSocket。
虽然我自己也在运行这项服务,但我仍有疑虑:
感谢您的建议。
答案 0 :(得分:20)
使用Node.js的Faye很容易为我设置,并且最初在测试中表现非常好。然而,即使我的应用程序上的负载每秒只有大约10个请求,大约有3000个打开的连接 - 当我将它切换到live node.js cpu使用率被固定为100%(我的盒子上的8个核心中有1个核心)。我对此感到有点失望并期待更多。
我考虑过使用redis或在不同的端口上运行多个节点实例,然后在我的应用程序端拆分负载但是查看PubNub的价格,将所有这些卸载到它们上似乎要容易得多。
在尝试了Pusher和PubNub之后,我发现PubNub对我来说既便宜又低得多(我在新加坡主持,而Pusher对我来说约为500毫秒,PubNub从我的应用程序中向我发送约250毫秒)。如果您在美国托管,但差异可能会小得多。
我也看过Ape-Server,但没有找到任何关于设置发布/订阅模型的好教程/文档,所以跳过它 - 但也许你比我聪明并且会有更好的经验:)