码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • minio元数据实现单独存储


    一.前言

    选择minio的原因,
    1.简单。
    2.我司存储达到50T的存储,要降低第三方成本,无专业人员维护,所以需要商业公司支持。
    需要改造元数据的原因是LOSF问题,造成minio访问毛刺过多。
    注:LOSF问题可点击此处了解

    二.实现

    读取的时候底层在storage-interface.go类的ReadVersion方法存在读取元数据的方法,改成第三方的查询比如mongodb,es,redis等。
    存储文件的时候利用监听事件,利用mq,在提供一个读取元数据的接口,因为minio的元数据是明文,直接存储即可,总体改动不大,但是读的性能将大大提高,这里需要注意的是,这种实现无法将minio使用k8s或者docker部署,因为这样部署ip是不固定的。
    因为改动不大且是不能随便开源代码就不放出来了,有需要改造的可留言一起交流。

    三.开源存储项目比较

    1.ceph提供了多种存储接口,包括对象存储、块存储和文件存储,适用于不同的应用场景,适用于需要处理大量数据的环境,但使用到的技术栈很多,运维复杂,需要专业人士,不适合中小型公司。
    ceph技术栈,KV数据库,一致性算法 paxos,服务器,网络,Raid,硬盘,交换机,VFS,文件系统,块层,驱动层,设备层等

    2.minio使用Go开发,代码精简易读,技术栈较简单包括Linux文件系统,纠删码等,适合中小型企业。

    3.其它,cubefs,SeaweedFS等因为并未实际用到过,不过多解释了。

  • 相关阅读:
    Go-Python-Java-C-LeetCode高分解法-第十周合集
    物联网电气融合实训室建设方案
    OpenShift 4 - 利用 RHSSO 实现应用认证和访问授权
    SpringBoot Aop使用篇
    Mysql 约束,基本查询,复合查询与函数
    某大厂软件测试岗一面笔试题+二面问答题面试经验分享
    flowable实战(三):关于流程图编辑
    VGGNet架构解析
    深度学习(小土堆)
    Integer 缓存机制
  • 原文地址:https://blog.csdn.net/weixin_40757126/article/details/133976543
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号