我试图找出如何负载平衡应用程序,如WordPress。 我的服务器arrays看起来像这样:
大多数(如果不是全部的话)内容将被存储在数据库中,所以内容不会成为问题,并且部署也将通过使两个服务器从远程GIT仓库克隆来解决,但是如果有人将图像上传到一台服务器? 它将如何同步到另一个?
我猜测我可以用rSync做到这一点,但是我觉得这是过时的了。 任何build议将不胜感激。
看来你需要看DRBD , glusterfs和类似的产品来实时复制你的文件。 当然,如果networking延迟太小,就像在相同的局域网中部署它们一样,这样的解决scheme将会更有效率。
如果用户上传的数据没有被caching,并且/或者被存储在集中的networking位置,则没有问题。
caching的数据绝对是一个问题。 至less有一些一般的方法。
维护与特定Web /应用程序服务器的会话关联(“粘性”会话)。 这基本上使无状态Web应用程序呈现“有状态”,并且应用程序现在具有隐含的连接超时。通常通过负载均衡器有一个超时,并且Web服务器有连接超时和/或HTTP保持活动超时。 负载均衡器超时可能是一个更棘手的问题,因为它们的资源可能比应用程序/ Web服务器更有限。
如果可行,请在应用程序中内置一个机制,以便在合作伙伴networking/应用程序服务器之间同步创build/修改/删除的数据。
中间caching解决scheme(如Azure AppFabric)可能不可行。 caching大数据的许多应用程序在使用中间caching时无法达到相同的性能,尽pipe这需要通过testing来确定。