我正在使用 Google App Engine (Python) 构建一个多用户实时应用程序,它看起来像 Facebook 直播插件:https ://developers.facebook.com/docs/reference/plugins/live-stream/
这意味着:同一网页上的 1 到 1 000 000 个用户可以执行立即通知其他所有人的操作。这就像一个群聊,但有很多人......
我的问题:
- App Engine 是否能够扩展到这种数字?
- 如果是,你会如何设计它?
- 如果没有,您有什么建议?
现在,这是我的设计:
- 我正在使用 App Engine Channel API
- 我将每个连接的用户存储在内存缓存中
- 每次执行操作时,都会将通知任务添加到任务队列
中 - 任务在于检索所有用户从 memcache 向他们发送通知。
我知道我的瓶颈在于任务。每个人都通过相同的任务/请求得到通知。现在,对于 30 个连接的用户,它持续大约 1 秒,所以对于 100 000 个用户,你可以想象它需要多长时间。
你会如何纠正这个?
非常感谢