2020.7.1 FastDFS文件存储 Docker容器

发布于 8 天前  11 次阅读


1.复习内容

2.灵感代办

3.学习内容

  • SPU和SKP

    • SPU (Standard Product Unit 标准产品单元)
      • 一种类型商品的总称
      • 商品属性,特性相同的集合
      • iphone x 就是SPU
    • SKU (stock Keeping Unit 库存量单位)
      • 某一件商品的详细信息,比如一件,一盒
      • 具体规格,属性
      • 红色 512G inphone x 就是SKU
  • FastDFS

    • 介绍

      • 2345截图20200701150307
      • 横向排列是扩容,纵向排列是备份同步
      • c语言编写,轻量存储分布式系统
      • 文件上传,下载,同步,支持负载均衡,本地备份
    • 主要构成

      • FastDFS架构
        • 包含 Client,Tracker,Stroager
      • Client 客户端集群
        • 发起请求(上传,下载)
        • 客户端,业务请求的发起方,通过专有接口,使用TCP/IP协议与TrackerStorage进行数据交互。FastDFS提供了uploaddownloaddelete等接口供客户端使用。
      • Tracker 调度集群
        • 判断机器是否有空闲
        • 跟踪服务器,主要做调度工作,起负载均衡的作用。在内存中记录集群中所有存储组和存储服务器的状态信息,是客户端和数据服务器交互的枢纽。
      • Storager 存储集群
        • 存储数据
        • 存储服务器(存储节点或数据服务器),文件和文件属性都保存到存储服务器上。Storage server直接利用OS的文件系统调用管理文件。
    • FastDFS上传下载流程

      • 前四步是自动完成
      • img
      • img
    • FastDFS文件索引

      • field_id 文件索引,用来查找文件在哪里存放

        • 文件索由,组名,虚拟路径磁盘,数据两级目录,文件名组成
      • FastDFS上传和下载流程可以看出都涉及到一个数据叫文件索引(file_id)
      • 文件索引(file_id)是客户端上传文件后Storage返回给客户端的一个字符串,是以后访问该文件的索引信息。
      • 文件索引(file_id)信息包括:组名、虚拟磁盘路径、数据两级目录、文件名等信息。
        • 组名:文件上传后所在的 Storage 组名称。
        • 虚拟磁盘路径:Storage 配置的虚拟路径,与磁盘选项store_path*对应。如果配置了store_path0则是M00,如果配置了store_path1则是M01,以此类推。
        • 数据两级目录:Storage 服务器在每个虚拟磁盘路径下创建的两级目录,用于存储数据文件。
        • 文件名:由存储服务器根据特定信息生成,文件名包含:源存储服务器IP地址、文件创建时间戳、文件大小、随机数和文件拓展名等信息。
  • 电商首页广告数据

    • img
  • 电商商品数据

    • img
  • 容器化方案 Docker

    • 解决了什么问题?

      • 环境部署多态机器需要执行多次
      • 环境部署软件版本问题,造成冲突
      • 安装软件步骤琐碎,不易完成
    • Docker的基本概念

      • 镜像
        • 是一个模板,用来生成容器
      • 容器
        • 类似于一个虚拟机里面的系统,可以操作
      • 仓库
        • 存储镜像的地方
    • 常用命令

      • 镜像相关
        • sudo docker image ls
        • sudo docker image rm
      • 容器相关
        • sudo docker container ls 查看
        • sudo docker container rm 删除
        • 容器常用参数
          • -i 交互模式运行
          • -t 进入命令行
          • –name 为创建容器命名
          • -v 目录映射, 主机目录:docker里的目录
          • -d 守护进程
          • -p 端口映射
          • –net-work 主机网络环境映射到容器
          • exec 进入守护进程的容器中
      • 拉取镜像
        • sudo docker image pull 仓库名称/镜像名称
    • 制作 载入容器镜像

      • sudo docker commit 容器名,镜像名
      • sudo docker save -o 保存的文件名 镜像名
      • sudo docker load -i 文件路径/备份文件

4.扩展延伸知识

  • Django中models反向查询

    • User.Field_set().all()
    • 在外键中设置related_name属性值
    • 通过@property装饰器 设置属性值

5.知识内容个人梳理

6.今天都复习了之前的什么内容


Ares个人进阶之路