我是第一次设置load balacing,并且对同步代码,静态文件和数据库有一些疑问。我的服务器是Ubuntu 12.4,并将使用机架空间云负载平衡。
对于代码,我可以使用git来同步所有文件。另请阅读使用rsync自动运行并在不同服务器中同步代码文件。
静态文件:我打算使用S3,因此它们在服务器之间共享。另一种选择是使用rsync来同步存储在服务器中的静态文件。
我的问题是同步数据库。 如果有两个运行MySQL的独立服务器,我该如何同步它们?我的猜测是我应该有一个远程SQL服务器,这样两个服务器都可以访问它们。这是使数据库与不同服务器一起使用的唯一方法或推荐方法吗?
答案 0 :(得分:1)
我的组织使用类似的设置,但我们有一台服务器专用于MySQL服务器,所有其他服务器根据需要连接到它,无需同步。
对于服务器之间的文件,我们使用lsync
。如果您有托管服务,Rackspace可以为您设置
编辑:
另一件事,我忘了提到,我们使用NFS共享来保存文件系统中需要始终保持相同的部分,并且不能等待lsync
找出它已经发生了变化。对于其他一切,lsync
工作正常。
lsync
使用rsync
进行转移,使用inotify
进行更改
MySQL确实有办法同步2个数据库,但我们更喜欢上述设置,因为它更容易维护。
答案 1 :(得分:0)
为您的数据库设置不同的服务器。
当您使用Rackspace时,请使用Rackspace云数据库。
我们已经设置了与您所描述的相同的设置,负载均衡器背后的云服务器使用S3进行共享文件和所有服务器访问的云数据库