我有一个php应用程序,它将在几个Google Compute Engine(GCE)实例上运行。该应用程序将使用PHP会话。我了解Amazon AWS提供了一个DynamoDB会话处理程序,用于处理EC2实例上的会话(链接here)。
Google Compute Engine怎么样?除了Load Balancer上的Session Affinity设置之外,我找不到任何可用选项。
是否有任何类或可用库可以更容易地在GCE实例上实现可扩展的php会话?
答案 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
还有付费的专用服务。
我不知道您是否可以从计算引擎访问这些内容。