谷歌计算引擎上可扩展的PHP会话的最佳实践

时间:2014-09-07 17:03:06

标签: google-app-engine amazon-dynamodb google-compute-engine google-api-php-client google-cloud-platform

我有一个php应用程序,它将在几个Google Compute Engine(GCE)实例上运行。该应用程序将使用PHP会话。我了解Amazon AWS提供了一个DynamoDB会话处理程序,用于处理EC2实例上的会话(链接here)。

Google Compute Engine怎么样?除了Load Balancer上的Session Affinity设置之外,我找不到任何可用选项。

是否有任何类或可用库可以更容易地在GCE实例上实现可扩展的php会话?

2 个答案:

答案 0 :(得分:2)

Google Cloud Compute Engine不为分布式PHP会话管理提供专用服务。

作为一种解决方法,我建议采用以下解决方案:

1)部署Memcached [1]或Redis实例[2]并在其中保存会话[3]。
2)使用Unison实用程序(基于Rsync)[4]使Web服务器之间的会话文件保持同步 3)如果您的PHP应用程序依赖于MySQL,您可以在那里保存会话,您可以考虑使用内存存储引擎表来更快地访问数据。你可以在[5]找到一个例子。

链接:
[1] - http://www.nginxtips.com/store-php-sessions-memcached/
[2] - https://cloud.google.com/solutions/redis/
[3] - http://www.sitepoint.com/saving-php-sessions-in-redis/
[4] - http://www.cis.upenn.edu/~bcpierce/unison/
[5] - http://phpsecurity.org/code/ch08-2

问候
保罗

答案 1 :(得分:0)

如果您在google app-engine上运行php引擎,则可以访问免费的共享memacache服务:https://cloud.google.com/appengine/docs/standard/python/memcache/examples

还有付费的专用服务。

我不知道您是否可以从计算引擎访问这些内容。