当今最先进、最可靠的 COMET 解决方案是什么?
问题:每天需要向网络用户提供数百万条实时通知。
需求:
- 可扩展性
- 无需代理的跨域请求。 (XHR 轮询不起作用)
- 跨浏览器支持。 (不能仅依赖于 websockets 或 flash 套接字) 经过
- 良好测试和维护的组件
到目前为止,我已经提出了一些具有各种限制的解决方案:
RabbitMQ + node.js + Socket.IO
这是到目前为止我最喜欢的解决方案,但是当涉及到大量请求时,有人抱怨 Node.js 部分的可靠性。 plurk.com的经验 http://amix.dk/blog/post/19577
XMPP/BOSH + strope .js
这看起来也很可靠,但由于 BOSH 的限制,JSONP 轮询是不可能的,因此 - 没有跨域请求。
Mochiweb + Dojo
据称 Facebook 使用 Mochiweb 作为他们的聊天系统(顺便说一句,这很糟糕)。设置和维护似乎太复杂。我错了吗?
JBoss Netty
Java 服务器。这就是 plurk.com 用来提供通知的方式。目前还不清楚浏览器端可以使用什么。
Faye + node.js
非常容易设置,但似乎在重负载下效果不佳,未经测试,也没有明确的扩展方法。
有什么想法或经验吗? :)
Problem: need to serve millions of realtime notifications to web users per day.
Requirements:
- Scalability
- Cross-domain requests without proxies. (XHR polling won't work)
- Cross browser support. (Can't rely only on websockets or flash sockets)
- Well-tested and maintained components
So far I have come up with some solutions wich have various limitations:
RabbitMQ + node.js + Socket.IO
This is my favorite solution so far but there were complains about reliability of node.js part, when it comes to huge number of requests. Experience of plurk.com http://amix.dk/blog/post/19577
XMPP/BOSH + strophe.js
This also looks reliable but due to limitation of BOSH, JSONP polling is not possible and therefore - no cross-domain requests.
Mochiweb + Dojo
It is claimed that Facebook uses Mochiweb for their chat system (which sucks btw). Seems too complex to setup and maintain. Am I wrong?
JBoss Netty
Java server. This is what plurk.com uses to serve their notifications. It is unclear of what can be used on browser side.
Faye + node.js
Very easy to set up, but seems that it doesn't work well on heavy loads, not tested and there's no clear way to scale.
Any ideas or experience? :)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论