负载均衡器后面的 VisualSVN 服务器的多个 AWS EC2 实例之间的网络文件系统(NFS)

负载均衡器后面的 VisualSVN 服务器的多个 AWS EC2 实例之间的网络文件系统(NFS)

我有几个使用 VisualSVN Server 在 Amazon EC2 上运行的 Windows 服务器实例,我想通过使用负载均衡器运行重复实例来提高它们的容错能力。

问题在于具体的数据,例如,如果文档根目录(即“C:/Repositories”)的内容不一样,那么从一个 Web 服务器故障转移到另一个 Web 服务器是没有用的。

我的基本想法是在 EC2 实例之间共享卷(即“C:/Repositories”):

在此处输入图片描述

但我却有很多疑问:

  1. 运行指向同一个 repo 的两个/多个 VisualSVNServer 实例是否可能/安全?

  2. 在 Amazon Load Balancer 后面运行 VisualSVNServer 实例是否可行/安全?

  3. 运行指向网络文件系统的 VisualSVNServer 实例是否可行/安全?

  4. 我还没决定在 AWS S3 和 AWS EBS 之间选择,您推荐什么作为 VisualSVNServer 和 NFS 架构的最佳存储解决方案(我认为是 EBS,但他们是 AWS 服务中的新手)?

答案1

  1. 是的,这是可能的,而且是安全的。
  2. 是的,应该可以。但我建议您启用 Amazon Load Balancer Sticky Session 功能
  3. 是的,应该可以,但有一些注意事项:您应该小心用于访问共享数据的网络协议。Subversion 依赖于文件锁定和原子文件移动操作。众所周知,SMB 和 SMB2 运行良好,而 Unix NFS 协议可能存在问题。
  4. 我没有足够的 AWS 经验来回答这个特定问题。

顺便说一句,我建议你考虑一下VisualSVN 服务器多站点存储库复制(2) 此类部署的功能。在这种情况下,您将在每台服务器上拥有单独的数据副本,这些副本可以分布在不同的地理位置,以便更快地访问。

(1)http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/US_StickySessions.html

(2)https://www.visualsvn.com/server/features/multisite-replication/

相关内容