有许多高负载网站会在运行时通知用户新消息/主题,而无需重新加载页面。他们是怎么做到的?他们使用哪种方法?
我认为有两种方法:
- 每次间隔时使用 JavaScript“询问”服务器
- 使用网络套接字
普遍认为,第一个对于服务器来说太重了,因为它产生了太多的请求。
关于第二个在高负载应用程序中的行为我一无所知,这好吗?
那么,使用哪种设计方法可以正确实现“新消息可用”等功能,而不需要重新加载页面呢? 问题在于性能:)
最佳答案
WebSocket 在浏览器中的性能不是问题,并且在服务器端有高性能的实现。例如,Crossbar.io可以轻松处理小型服务器上的 180k 并发连接(在较旧的 i5 笔记本电脑上的虚拟机中进行测试)和 10k/s 消息 - 并且两者都随硬件(分别是 RAM 和 CPU)进行扩展。另外:像 Crossbar.io/Autobahn/WAMP 这样的东西为您提供了一个基于 WebSocket 的协议(protocol)来处理向客户端分发通知,让您的生活更轻松。
全面披露:我在 Crossbar.io 上工作的公司工作,并且还有其他 WebSocket 和 PubSub 解决方案。看看什么最适合您的用例并选择它。
关于javascript - 确定新数据是否可用的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33616198/