因此,我需要将会话处理从基于文件的(默认)更改为基于缓存的处理,因此当我向集群添加节点时,集群中的任何app节点都可以访问会话数据。
我的经验一直是使用配置文件集中缓存节点,在我的例子中是cache.yml。使用此文件,我标识了3个缓存服务器(vc-1、vc-2、vc3)。如果我错了,请纠正我的错误,但只要我在创建缓存对象时使用addServers调用,然后使用该缓存对象设置/获取缓存数据,数据就可以存储在任何vc-*服务器上,但就应用程序而言,它是一个(池式)缓存服务器。示例:
在读取了php memecacheD 文档之后,我可以轻松地通过php.ini文件切换会话处理,但是为了保持这种池效应,我必须配置(傀儡) php.ini文件来构建服务器字符串列表,只要我想添加/删除一个新的缓存服务器。
因此,我的问题是,除了实现我自己的会话处理程序之外,还有其他选择,这样读/写就可以使用前面提到的缓存对象来确保“池”缓存效果,而不必编辑php.ini文件?
发布于 2015-10-28 13:28:53
实际上,我最终使用了双代理,它应该处理基于健康检查的memcached节点的加/减。它很容易设置,基本上为vcache创建了DNS记录,并有指向vcache的代码:22122。
如果使用AWS,您可以执行相同的操作,但不必使用双代理,而是设置一个elasticache集群,然后创建一个CNAME dns条目,该条目指向elasticache端点。这样,您就不必对单个代码进行更改,因为指向elasticache端点的CNAME条目仍将解析为vcache。
https://stackoverflow.com/questions/24666269
复制相似问题