我是一个新手,如果我错过了一些明显的东西,我很抱歉,因为我的研究并没有导致我涉及到我们有点独特的情况。
我将要将一个php应用程序转换到基于云的服务器上,这些服务器当前运行在单个服务器上,使用本地主机上的memcached来存储每个用户极less量的数据(不是会话数据,只是用户的高可访问性过渡数据-具体)。 我们正在试图使这种扩展,因为我们目前的Web服务器正在开始限制在罕见的高峰负载时间并发的Apache连接。
我们将通过具有会话粘性的负载平衡器来运行云Web服务器,但是在决定是否使应用程序适合连接到独立专用服务器上的memcached时受到阻碍,因此内存池可以被所有web服务器,或者为memcached维护每个云服务器内存的一部分,并将应用程序指向localhost,相信会话粘性以确保维护会话的服务器也将用户数据保存在其内存中。
我目前的想法是,一个专用的memcached服务器将是一个更清洁的实现,但是如果我们最终将memcached的使用扩展到更复杂的数据,那么从长远来看可能会更复杂。 而维护每个云服务器上运行的memcached实例只要需要额外的服务器就会引入更多的资源(同样,假设服务器维护用户会话可以可靠地查找caching的用户数据)。
我会重视任何人的意见,见解,或指出我的理解有任何缺陷。
我会说这两种方法都是正确的,但我略微倾向于使用每个服务器的memcached。 只要你在memcached中没有共享数据。
与共享的memcached你得到:
每个服务器memcached你得到