似乎使 GAE Channel API 在财务上可行的唯一方法是实施某种池化机制(一位高级应用引擎产品经理甚至在我向他们发送有关过高价格的电子邮件时告诉我这一点)以重用尚未使用的渠道已到期。
我一直在思考实现通道池的方法(地点),但我想到的每种方法都有一些非常严重的缺点。
Servlet 的静态内存——很好,但是当新的 VM 实例打开和/或客户端从一个 VM 传递到另一个 VM 时,会丢弃相当多的开放通道。
Memcache——至少内存可以从所有虚拟机全局访问,但现在由于不活动和内存压力,放弃一个非常可行的通道的可能性可能更大。
后端实例——就可靠性而言,这可能是最好的选择,但现在运行后端的费用将首先耗尽实施池的所有节省!
有没有更好的地方/方式来跨我缺少的虚拟机实现通道池,或者我是否不必要地挂断了我的选项的缺点?我真的希望有,或者看起来我的应用程序将不得不恢复轮询(在我的初步指标中看起来稍微便宜一些)。