我正在使用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中存储每个连接的用户。 - 每次执行操作时,都会将通知任务添加到任务队列中。 - 任务包括获取memcache中的所有用户,并向他们发送通知。
我知道瓶颈在于任务。所有人都通过同一个任务/请求进行通知。目前,对于30个连接的用户,需要大约1秒钟的时间,因此对于100,000个用户,你可以想象需要多长时间。
你会如何纠正这个问题?
非常感谢!
我的问题如下: - App Engine能够扩展到那种数量吗? - 如果可以,你会如何设计? - 如果不行,你的建议是什么?
目前,这是我的设计: - 我正在使用App Engine Channel API。 - 我在memcache中存储每个连接的用户。 - 每次执行操作时,都会将通知任务添加到任务队列中。 - 任务包括获取memcache中的所有用户,并向他们发送通知。
我知道瓶颈在于任务。所有人都通过同一个任务/请求进行通知。目前,对于30个连接的用户,需要大约1秒钟的时间,因此对于100,000个用户,你可以想象需要多长时间。
你会如何纠正这个问题?
非常感谢!