2014-06-22 40 views
2

我刚刚从this questions得知Google app engine现在支持会话。我希望能够使用它们,但我不确定是否应该仅仅因为我能。感谢可伸缩性问题。我应该在Google App Engine中使用会话吗?

我的问题是真的,

我在哪里存储会话信息?在数据存储中还是需要很长时间?当然,花费很大?

mem缓存怎么样?我只有几天的时间才知道GAE,并且还在读书。 Mem缓存是否被认为是快速/可扩展的,是否需要花费?

会议的可伸缩性的最佳做法是什么?

非常感谢

回答

5

你真的没有选择。 Appengine透明地处理会话持久性和快速访问。从the official documentation

报价:

的App Engine包括会话的实现,使用servlet会话界面。该实现将会话数据存储在App Engine数据存储中以实现持久性,并且还使用memcache来提高速度。

1

我在哪里存储会话信息?在数据存储或 这需要很长时间?当然,花费很大?

如果您在GAE上启用会话,会自动将会话信息存储在内存缓存中并将其备份到数据存储中。

那么mem缓存怎么样?我只知道GAE几天,而我还在读 。 Mem缓存是否被认为是快速/可扩展的,并且它会花费多少钱?

memcache查询没有成本,并且比数据存储查询要快得多。缺点是memecache是​​不稳定的,可能随时被刷新。这就是GAE备份数据存储上的会话信息的原因。

会议的可伸缩性的最佳做法是什么?

那么有关于这个想法的很多学校,但最好你的应用程序应该是“无状态”,以实现在GAE上最大的“可扩展性”,所以你应该能够处理每个请求没有任何额外的信息,但通常很难得到。

实例之间共享空间(如memcahce/datastore/blobsotre)实际上消除了与“分布式和动态”设置相关的所有问题,但从哲学上讲,您应该尝试实现尽可能无状态的应用程序。

相关问题