当前位置: 代码迷 >> 综合 >> 【CDP-云设计模式】第4章,4.NFS复制模式(NFS Replica Pattern)
  详细解决方案

【CDP-云设计模式】第4章,4.NFS复制模式(NFS Replica Pattern)

热度:27   发布时间:2023-12-15 13:53:33.0

1.要解决的问题

  当多个服务器使用NFS来共享文件时,如果共享文件的服务器数量增加并且访问频率过高,NFS部分的性能损失将会变得非常严重。

2.云模式的说明

  这个模式能提高引用性能,尤其是针对存储共享文件的NFS性能的下降。为每一个服务器单独准备一个虚拟磁盘,然后拷贝NFS服务器上的共享文件。这就让每一个服务器都能使用一个虚拟磁盘作为NFS副本来进行引用。

3.实施

  将NFS服务器的文件拷贝至EBS,即每一个EC2实例的虚拟磁盘。每一个EC2实例可以读取对应的EBS文件,从而提高了对NFS服务器的访问性能。

  • 在一个EC2实例上构建NFS服务器,再将共享文件放在上面。

  • 先创建一个EC2实例(web服务器)用于自动扩展。当它被启动后,连接至NFS服务器,然后将NFS服务器上的内容拷贝至它的EBS上。

  • 设置EBS作为每一个EC2实例上的应用程序的引用目标。

4.配置

图1

5.好处

  • 当NFS服务器上的共享文件被更新时,这个文件会被之后启动的EC2实例使用。

  • 因为共享文件存放于每个EC2实例的EBS上,所以不需要访问NFS服务器,因此访问性能将不再是问题。

  • 即使NFS服务器宕机了,但保存在每个EBS上的内容仍然存在,所以NFS服务器不再是单一故障点。

6.注意事项

  当更新共享文件时,仅仅在NFS服务器上更新的文件不会被反映到每一个EC2实例上。你必须使用rsync等来执行同步。

7.其他

  你可以使用EC2实例上的本地磁盘来提高性能并降低成本,即实例存储(临时磁盘), 而不是使用EBS来作为本地磁盘。

  相关解决方案