mkw*_*kwn 2 google-app-engine channel-api
Google应用引擎似乎最近将频道创建的免费配额从每天8640降至100.我希望有一些优化频道创建的建议,我不愿意使用付费套餐的爱好项目.
在文档中特别提到每个通道ID只能有一个客户端.如果有办法解决这个问题会有所帮助,即使它只适用于一台计算机上的多个客户端(例如多个标签)
在我看来,我可以通过重复向服务器发送XHR请求以检查新消息来模拟通道功能,从而绕过限制.但是,我担心这种方法可能太慢了.是否有任何现有的图书馆可以遵循这一原则?
不幸的是,每个频道ID限制的一个客户端并不容易.我们实际上允许两个,但这是为了处理用户刷新页面的情况,而不是实际的扇出.
也就是说,您当然可以为此实施自己的解决方法.我见过的一个技巧是使用cookie在浏览器选项卡之间进行通信.然后,您可以选择一个选项卡作为频道的"所有者",并通过Cookie扇出数据.有关如何实现选项卡间通信的信息,请参阅此问题:浏览器选项卡/窗口之间的Javascript通信
如果您愿意接受某些性能权衡,则可以轮询而不是使用Channel API.渠道API提供的速度大约为100-200ms; 如果你可以接受平均500毫秒,那么你可以每秒轮询.根据您发送的数据类型以及您在memcache中的容量,这可能是一个可行的解决方案.我的猜测是你最大的问题是实例时间.
例如,如果您有100个客户端,那么您将看到100qps.您应该尝试并查看是否可以在一秒钟内为您需要提供的数据提供100个请求,而无需启动第二个实例.如果没有,请继续增加延迟(即降低轮询频率),直到有1个实例能够满足您的请求.
希望有所帮助.
| 归档时间: |
|
| 查看次数: |
829 次 |
| 最近记录: |