码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Fastdfs之多机房同步模拟测试


    文章目录

    • 多机房同步
    • 优先级

    多机房同步

    1. 这里使用docker模拟A和B两个机房(使用同网段IP,模拟A和B机房互通)

    2. A机房机器环境

      IP地址用途
      172.33.0.4tracker1
      172.33.0.5tracker2
      172.33.0.8storage11
      172.33.0.9storage12
    3. B机房机器环境

      IP地址用途
      172.33.0.6tracker3
      172.33.0.7tracker4
      172.33.0.10storage13
      172.33.0.11storage14
    4. A机房正常运行,B机房新增,是否可以在B机房配置A的Tracker之后,A上传的文件自动同步到B机房?如果在B机房上传文件,是否能自动同步到A机房?
      在这里插入图片描述

    5. 在A机房上传文件,查看binlog文件。C 源操作,c表示同步记录操作

      # 在A机房上传文件
      $ fdfs_upload_file /etc/fdfs/client.conf /root/rabbitmq.jpeg
      group1/M00/00/00/rCEACWJdVZOAc_wVAAA13Pyj5VU04.jpeg
      
      # 查看binlog日志
      1650283923 c M00/00/00/rCEACWJdVZOAc_wVAAA13Pyj5VU04.jpeg
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
    6. 在B机房上传文件,查看binlog文件。

      # 在B机房上传文件
      $ fdfs_upload_file /etc/fdfs/client.conf /root/rabbitmq.jpeg
      group1/M00/00/00/rCEACmJdViCAciiCAAA13Pyj5VU34.jpeg
      # 查看binlog日志
      1650284064 C M00/00/00/rCEACmJdViCAciiCAAA13Pyj5VU34.jpeg
      
      • 1
      • 2
      • 3
      • 4
      • 5
    7. 结论:集群中的文件能够相互同步,则storage配置的tracker地址,必须要配全集群中所有的tracker,否则将会出现某些storage上传的文件无法同步到组内其他storage上

    在这里插入图片描述

    优先级

    1. 在双机房中的storage进行提权和降权操作

      • **提权:**将B机房中的storage配置的upload_priority值小于A机房storage配置的upload_priority

      • 降权:将B机房中的storage配置的upload_priority值大于A机房storage配置的upload_priority

    2. 修改tracker的配置项

      # 0: round robin (default)
      # 1: the first server order by ip address
      # 2: the first server order by priority (the minimal)
      store_server=2
      
      • 1
      • 2
      • 3
      • 4
    3. 修改storage配置,upload_priority越小,优先级越高

      upload_priority = 10
      
      • 1
    4. 提权案例

      1. 修改所有的Tracker配置
      store_server=2
      
      2. 修改B机房的Storage配置
      upload_priority = 2
      
      3. 连接Tracker上传文件
      fdfs_upload_file /etc/fdfs/client.conf /root/rabbitmq.jpeg
      
      4. 查看B机房Storage的binlog
      1650328950 C M00/00/00/rCEACmJeBXaAZvqaAAA13Pyj5VU67.jpeg
      
      5. 查看A机房Storage的binlog
      1650328950 c M00/00/00/rCEACmJeBXaAZvqaAAA13Pyj5VU67.jpeg
      
      6. 上传多次之后,可以看出是优先上传到B机房的Storage,然后同步到A机房发Storage
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
  • 相关阅读:
    Python计算泊松分布教程
    探秘SuperCLUE-Safety:为中文大模型打造的多轮对抗安全新框架
    nginx vue2+webpack 和 vue3+vite 配置二级目录访问
    独立站运营和facebook投放怎么做
    Linux修改fs.inotify.max_user_watches(“外部文件更改同步可能很慢”和“当前的 inotify(7) 监视限制太低”)
    【每日一题Day361】LC2558从数量最多的堆取走礼物 | 大顶堆
    java基础面试题 第四天
    JAVA计算机毕业设计冰鲜鱼管理系统的设计与实现Mybatis+源码+数据库+lw文档+系统+调试部署
    Springboot集成kafka高级应用实战
    The following method did not exist (maven依赖冲突解决全记录)
  • 原文地址:https://blog.csdn.net/usagoole/article/details/126201470
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号