我最近inheritance了一个基于Linux的小型负载平衡Web服务器。 不幸的是,它从来没有完全上线,所以我正在这样做。
基本设置是:
数据库服务器在主公司防火墙内,而其他三个在DMZ中。 基本的负载平衡的工作,但我曾经遇到麻烦持续与LVS连接,因为PHP5的会话存储使用本地文件,我们失去了会议。 我可能能够让LVS坚持会话,但是由于连接通常是在同一个防火墙后面连接大量NAT客户端,请求之间有时会有很长的延迟,所以我认为这可能是一个失败的主张。 我决定改用会话存储的memcached,因为它可以快速设置。
我的问题是memcached服务应该在哪里存在? 我无法添加其他服务器,因此必须使用负载平衡器或数据库服务器。 目前,我倾向于把它放在数据库服务器上,因为它没有外部连接,但我担心这两者可能在一定程度上相冲突。 这种情况有没有最好的做法? 还是有其他的指导?
如果我是你,我会保存在数据库的数据库服务器上的内存。 为了恢复能力,我会在你的web服务器上安装memcached。 使用memcached进行会话的一个小问题是,重新启动memcached会破坏会话。 你可能会看到像memcachedb的东西,而坚持对象。
我会把它放在负载平衡器上。 有三个原因: