gdfs 分布式文件存储 gdfs

llakcs2021-11-01 09:49:09 • 3980 次点击    
这是一个分享于 2021-11-01 09:49:09 的项目,其中的信息可能已经有所发展或是发生改变。

gdfs 分布式文件系统

介绍

gdfs分布式文件服务基于GO语言,前端页面使用vue-admin,主要用于小型文件存储。

它使用了带权重RoundRobin算法实现的负载均衡,使用技术框架gin+jwt+viper+gorm...等.

软件架构

网关和存储服务关系,如下图所示。 网关下一级是节点,每个节点下可以有N个服务,服务之间数据互相同步,互相备份。

输入图片说明

网关服务介绍:

主要功能

  1. http请求转发
  2. TCP服务端
  3. 收集存储服务信息
  4. 提供前端页面接口
  5. 数据迁移

地址: https://gitee.com/llakcs/gdfs-center

文件存储服务介绍:

主要功能

  1. 文件下载
  2. 文件存储
  3. 批量删除文件
  4. 文件更新
  5. 增量同步文件
  6. TCP客户端

地址: https://gitee.com/llakcs/gdfs-service

配置文件: config.yml

//数据库配置 gorm:

username: ${DATASOURCE_USERNAME:root}

password: ${DATASOURCE_PASSWORD:3100386a}

dbname: ${FILE_DB_NAME:gdfs-center}

address: ${DATASOURCE_HOST:127.0.0.1}

dbport: ${DATASOURCE_PORT:3306}

//文件存储位置

storagePath:

linuxStorage: ./fileData/tenfineFiles/

//web启动配置

web:

port: ${FILE_SERVER_PORT:8878}

//tcp端口

tcptun:

port: ${TCPTUN:5566}

//日志配置

log:

path: ./fileData/fileServicelog/

//存储服务注册网关配置

gdfs:

registerConfig:

port: ${REGPORT:5566}         //端口

IpAddr: ${REGIP:127.0.0.1}  //IP

weight: "1"   //权重

支持协议

1.http

2.tcp 需要自己修改协议

使用说明

  1. 打开网关服务代码 go get 更新依赖
  2. 进入网关服务代码根目录修改config.yml配置后运行程序
  3. 进入网关服务代码找到web目录下gdfs-vue-admin改好vue相关配置 进入根目录 npm run dev 进入前端页面如下图所示 默认账号admin 密码123456 输入图片说明
  4. 点击登录后,进入系统后台 找到服务管理和节点管理 输入图片说明
  5. 先点开节点管理选择创建节点,如下图所示 输入图片说明
  6. 运行文件存储服务,再去前端服务管理页面找到文件服务点击绑定,把相应的服务绑到对应的节点上,如下图所示。 输入图片说明
  7. 全量迁移数据:应用场景单对单,即单个文件服务把现有数据拷贝到新的文件服务上,不管是文件还是数据库表数据。

License

MIT License

授权协议:
MIT
开发语言:
go+vue 查看源码»
操作系统:
linux
3980 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传