【发布时间】:2014-08-14 14:41:41
【问题描述】:
关注这篇文章:In what situations would AJAX long/short polling be preferred over HTML5 WebSockets?
我考虑将 WebSockets 用于我的应用程序,我可以将其描述为类似于实时股票价格列表的东西。我已经读过,我可以通过这种方式严重降低前端服务器的费用。所以只是“思考”它。
目前: 每个客户端每 1 秒调用一次我的应用程序以获取 JSON 数据。这些数据对于所有用户都是相同的。 因此,每一秒,我都会调用一个新资源的正面清漆,例如,它将请求传递给生成新 JSON 的后端服务器(tomcat),然后以 1 秒的 TTL 将其传递给清漆。 并且在 1 秒内,每个请求数据的客户端都会从 Varnish 中获取数据。
这使得后端服务器对请求的收费相对较低,因为清漆占据了大部分。
我的问题: 如果现在我使用 WebSockets (WS)(对于这些请求,我可能会从 Tomcat 切换到 Nodejs),并且我的客户每秒都在请求新数据。
- 我如何能够为“第一个”客户端生成数据,以及 在下一秒为所有其他客户提供服务?
- 我怎样才能告诉 Varnish 这个数据的 TTL 为 1 秒?
提前感谢您的解释!
【问题讨论】:
-
您的客户端不会请求数据,它们会在套接字上闲置,等待服务器发出数据,然后将数据实时推送到客户端。
-
好的,那么很快,Nodejs 服务器会将新数据推送到清漆,而清漆会一次将所有新数据推送到客户端?即使我在网站上同时连接的人数超过 2000 人也没关系?
-
我对 varnish 没有任何经验,所以我不知道它如何与 websockets 一起工作,尽管看起来 here 它应该完全符合您的要求。
标签: ajax node.js websocket varnish