流星和cloudflare与xhr请求的循环

时间:2015-07-30 00:47:17

标签: meteor google-cloud-platform cloudflare kubernetes

我正在编写一个Meteor应用程序,它有两个组件 - 一个托管流星应用程序,托管在一台服务器上,另一个托管在另一台服务器上。聊天应用程序使用socket.io来进行实际的消息传递(因为我想使用redis pub-sub而Meteor尚不支持),当然还有其他的sockjs。

我在Kubernetes举办两场比赛。在他们的网络IP上,websockets正在工作。

但是,我想使用Cloudflare,其中websockets不起作用,所以我将DISABLE_WEBSOCKETS env变量设置为1.此外,socket.io的传输应该默认为xhr轮询。

唯一的问题是:

  • 当我得到对话时,应用程序挂起,因为前端Web应用程序正在进行大量的重复" xhr"请求聊天应用。
  • 一段时间后,聊天应用程序能够响应并在大约10秒后发送信息,此时应该花费不到0.5秒。
  • 有大量的sockjs xhr请求正在进行,而对正常前端应用程序的sockjs xhr请求数量很少。
  • 在开发方面,即使DISABLE_WEBSOCKETS设置为1,也不会出现此问题。

在Cloudflare上,我尝试了以下内容(来自此页面:https://modulus.desk.com/customer/portal/articles/1929796-cloudflare-configuration-with-meteor-xhr-polling): - 设置"伪IPv4" to" Overwrite Headers"

我需要使用特殊的Meteor配置才能让xhr与cloudflare一起工作吗?此外,我在应用程序上也有另一项服务,但它完全正常。 socket.io可能会以某种方式干扰聊天服务中的sockjs吗?

0 个答案:

没有答案