我有2台服务器。
我在用着:
Nginx目前的负载均衡要求服务器B处理75%的请求。
为了同步应用程序代码(用php编写),我使用rsync(如上所述)。
rsync的问题是我无法处理2路同步,所以我开始看着Unison 。
在这一点上,我有2个问题:
您可以使用rsync或unison工具,但不会得到实时同步。 应该有一些延迟,直到新的/更新的文件同步,即使你每分钟运行一个这样的工具。 如果您认为有小的延迟是可以接受的,您可以实施它。
如果您想要实时同步更改,则需要使用NFS / glusterfs或DRBD之类的工具。 这种工具的主要缺点是由于networking延迟导致的I / O开销增加。 当共享文件夹变得庞大并且networking延迟变大时,这变得更清楚。
这种不对称的体系结构使得服务失败的几率增加了一倍,而且性能也不是很好。
我使用rsync(如上所述)。
我没有看到如何使用rsync的解释。
为了同步应用程序代码
应用程序代码的部署应该是一个托pipe过程。 如何pipe理通过networking服务器/由networking服务器生成的上传内容的复制是一个非常不同的故事。 如果您需要执行应用程序代码的双向复制,那么您做错了。
你的问题围绕着部署。 如果节点在function上与memcache和mysql的复制对称,那么将一个节点脱机(即使这意味着交换nginxconfiguration中的代理/将所有请求redirect到其他节点)进行部署也是不容易的。 因此,代码部署的停机时间为零,数据库备份的停机时间为零,数据库维护停机时间为零,模式更改的停机时间为零。