好吧,这可能看起来像是一个新手问题,但是我还是想问一下。
我正在使用 Amazon Web Services,并为 2 个相同的 EBS EC2 实例创建了一个 Elastic Load Balancer。我们将它们称为服务器 A 和服务器 B。当在主负载均衡器上请求文件时,我假设它会在服务器 A 或服务器 B 之间平衡负载并从服务器 A 或服务器 B 中提取文件。现在,如果我想更改服务器 A 上的某个站点文件。那么我是否必须对服务器 B 的文件进行相同的更改?
答案1
是的,对于通过 ELB 提供服务的网站,两台服务器上的内容必须相同,否则最终会得到不同的内容。
答案2
您需要在两者上使用相同的文件。实现此目的的一种方法是使用集群文件系统,例如格鲁斯特- 您可以挂载文件系统,它将自动在服务器之间复制更改(或者如果您扩展到更多服务器,您可以设置一个分布式文件系统,这样您就不会得到同一个文件的太多副本)。
我认为另一种方法是可行的,但它会在很大程度上否定负载平衡器的意义。在某些反向代理中,如果文件不存在,应该可以设置重定向,其中重定向指向另一台服务器。因此,本质上,检查文件 - 如果存在则提供服务,否则,使用其他服务器。坦率地说,在这种情况下,我认为这种方法毫无意义。