避免 100 毫秒的 http 请求减慢调用它的 REST API 的速度



我正在使用Google GCM开发带有推送通知的多人游戏Android游戏。我的Web服务器具有REST API。发送到此API的大多数请求将请求发送到Google GCM服务器,以将通知发送给对手。

这是平均而言,对我的API的调用是〜140毫秒长,〜100 ms是由于发送到Google Server的HTTP请求。

我该怎么做才能加快这一点?我在想(我对服务器完全控制了我的服务器,堆栈是瓶/gunicorn/nginx)使用数据库创建一个独立过程,该数据库将尝试发送GCM请求的队列,但是也许有一种更简单的方法可以做到这一点。直接在瓶子或纯python中。

问题是您的客户正在等待您的服务器发送GCM推送通知。这种行为没有逻辑。

您需要更改服务器端代码以处理您的API请求,关闭与客户端的连接,然后发送推送通知。

如果您不这样做,您能做的最好的事情就是使所有网络异步。

问题是,总会有一个用户具有缓慢的Internet连接,并且没有一种通用方法可以使他们快速互联网:/。除此之外,想法是

  • 仅发送几个小数据包一个巨大的支持许多小数据包(更快的速度)
  • 在TCP上使用UDP,UDP无连接,自然更快

我已经解决了我的问题:

我正在使用芹菜通过任务队列发送我的通知。我不敢相信它有多简单!

谢谢:)

最新更新