image-manage image-manage
首页
  • 介绍
  • 快速上手
  • 目录结构
  • 数据的存储
  • 数据的同步机制
GitHub (opens new window)
首页
  • 介绍
  • 快速上手
  • 目录结构
  • 数据的存储
  • 数据的同步机制
GitHub (opens new window)
目录

数据的存储思路

数据采用多pod方案增加镜像,而不能增大内存。

# 1.为什么要采用多镜像思路?

  • 由于没有注册中心,数据的安全性至关重要,多pod镜像模式可以做到,1pod在,多pod都在。

  • 多pod思路,pod较为统一,协同管理比较方便。

  • k8s本身对于时间挂载卷扩容就比较方便,无需再次实现数据的统一管理

提示

redis 其实部分替代了注册中心的功能,如在redis里进行心跳,选出最优pod。

# 1.1.使用k8s动态卷分配

每个新起来的pod都会分配给一个全新的pv(存储空间),后迅速与其他pod进行数据同步,由于每个pod都有不同的空间,保证了相对较高的io性能。

# 1.2.pod之间的状态关系

由于pod在k8s cluster 中是随机负载均衡的,那么,控制无论访问哪个pod,得到相同的结果至关重要。由于各种数据内部的流动关系,或者网络等环境状态不同,image-manage有三重手段保证数据一直。

提示

image-manage使用三重手段保证数据同步。

# 1.3.md5去重过滤

由于可能存在重复文件,因此当用户上传文件后,image-manage会进行一次md5计算,如果存在当前文件,image-manage并不会再次存储文件,而是把用户文件引用指向已经存在的文件。

注意

当然,md5去重并非完美无缺,当文件庞大到一定的数量级的时候会存在md5碰撞,不过md5代价较小,一般情况下,nd5足够

Theme by Vdoing | Copyright © 2019-2024 wnzzer | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式