当前位置:   article > 正文

FastDFS的HA架构多Group多Storage多Tracker结合SpringBoot

fastdfs 多sto

在下图中,任何一个节点都支持水平横向无限扩展。当在某一个Group中添加新的Storage服务器的时候,新加入该Group的服务器会自动同步所有数据。当新添加Group的时候,只需要修改处于前端的Nginx服务器即可。要实现主备自动切换还可以加入KeepAlived中间件。

  • FastDFS服务器通过HTTP提供服务,但是HTTP的性能太弱,所以在V4.05之后的版本中删除了内置的HTTP服务。
  • FastDFS的Group之间的Storage需要复制数据,如果请求的数据正在复制,由于不是源服务器,那么fastdfs-nginx-module将进行重定向源服务器。
  • fastdfs-nginx-module支持配置多个组,一个服务器可以配置多个Group不同的Storage。同一个Group的Storage必须端口相同。
  • Nginx会为FastDFS提供负载均衡和数据缓存的功能。
  • FastDFS集群的总容量等于全部Group容量之和。一个Group的容量等于最小的Storage服务器容量。
  • 组一般用于隔离不同的数据。

FastDFS分布式文件集群HA架构图

18721079-c91d0f4c0d25a9ee
FastDFS的HA架构多Group多Storage多Tracker结合SpringBoot

集群中具体机器配置

安装软件 机器主机名 应用IP地址 管理IP地址
fastdfs+fastdfs-nginx-module fastdfs-storage1-group1 192.168.80.11 192.168.10.11
fastdfs+fastdfs-nginx-module fastdfs-storage2-group1 192.168.80.12 192.168.10.12
fastdfs+fastdfs-nginx-module fastdfs-storage3-group1 192.168.80.13 192.168.10.13
fastdfs+fastdfs-nginx-module fastdfs-storage4-group2 192.168.80.14 192.168.10.14
fastdfs+fastdfs-nginx-module fastdfs-storage5-group2 192.168.80.15 192.168.10.15
fastdfs+fastdfs-nginx-module fastdfs-storage6-group2 192.168.80.16 192.168.10.16
fastdfs+fastdfs-nginx-module fastdfs-storage7-group3 192.168.80.17 192.168.10.17
fastdfs+fastdfs-nginx-module fastdfs-storage8-group3 192.168.80.18 192.168.10.18
fastdfs+fastdfs-nginx-module fastdfs-storage9-group3 192.168.80.19 192.168.10.19
fastdfs+fastdfs-nginx-module fastdfs-storage10-group1-new 192.168.80.20 192.168.10.20
fastdfs fastdfs-tracker1 192.168.80.21 192.168.10.21
fastdfs fastdfs-tracker2 192.168.80.22 192.168.10.22
fastdfs fastdfs-tracker3 192.168.80.23 192.168.10.23
nginx fastdfs-nginx0 192.168.80.50 192.168.10.50
nginx fastdfs-nginx1 192.168.80.51 192.168.10.51

(1)在所有服务器上部署FastDFS服务

  1. yum update
  2. mkdir /source
  3. cd /source
  4. yum install -y gcc gcc-c++ make cmake wget libevent
  5. wget https://github.com/happyfish100/libfastcommon/archive/V1.0.35.tar.gz
  6. wget https://github.com/happyfish100/fastdfs/archive/V5.10.tar.gz
  7. tar -zxvf V1.0.35.tar.gz
  8. tar -zxvf V5.10.tar.gz
  9. cd libfastcommon-1.0.35
  10. ./make.sh
  11. ./make.sh install
  12. ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
  13. cd ../
  14. cd fastdfs-5.10/
  15. ./make.sh
  16. ./make.sh install
  17. cd ../
  18. cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
  19. cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
  20. cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf
  21. mkdir -p /data/fdfs/tracker
  22. mkdir -p /data/fdfs/storage
  23. mkdir -p /data/fdfs/client
  24. mkdir -p /data/fdfs/disks/volume0
  25. mkdir -p /data/fdfs/disks/volume1
  26. mkdir -p /data/fdfs/disks/volume2
  27. mkdir -p /data/fdfs/disks/volume3
  28. mkdir -p /data/fdfs/disks/volume4
  29. mkdir -p /data/fdfs/disks/volume5

(2)为Storage部署fastdfs-nginx-module

部署步骤

  1. # 添加用户
  2. useradd nginx -s /sbin/nologin -M
  3. # 安装Nginx需要的pcre(Perl兼容正则表达式)库,允许Nginx使用rewrite模块提供URL重写功能。
  4. yum install pcre pcre-devel perl-ExtUtils-Embed -y
  5. # 安装openssl-devel,允许Nginx提供HTTPS服务。
  6. yum install openssl-devel -y
  7. # 下载软件包
  8. cd /source
  9. wget http://nginx.org/download/nginx-
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/923309
推荐阅读
相关标签
  

闽ICP备14008679号