【发布时间】:2016-01-18 19:06:22
【问题描述】:
假设有一个应用在给定时间点拥有数以千万计的安装量和数以万计的活跃用户。我需要将用户的活动数据记录到我的服务器。目前,我从设备向我的服务器发出 HTTP 请求。我有一堆运行 Web 服务器的机器,位于亚马逊的 ELB 后面。他们解析来自设备的数据并将其放入 mongodb。
现在,我想通过使用 Google 的 GCM 提供的上游 CCS 来捕获设备数据(这样我就可以搭载 GCM 以更可靠地传递数据)我已经编写了一个原型 XMPP 服务器,我可以让整个事情工作,但我担心扩大规模。如果 Google 开始向我发送消息的速度快于我的消费速度,会发生什么情况?早些时候,我能够在负载均衡器后面使用多个服务器来处理高请求率。这里有负载均衡的概念吗?
如果我打开从我的服务器到 Google 服务器的多个连接(Google 说对于给定的发件人 ID,我最多可以有 1000 个连接),传入的请求是否会在这些连接之间进行负载平衡?
最后,有没有推荐的解决方案可以解决上述大部分问题?使用 ejabberd 会解决上面的一些问题吗?
非常感谢。
【问题讨论】:
标签: android google-cloud-messaging xmpp ejabberd