gdfs 分布式文件系统
介绍
gdfs分布式文件服务基于GO语言,前端页面使用vue-admin,主要用于小型文件存储。
它使用了带权重RoundRobin算法实现的负载均衡,使用技术框架gin+jwt+viper+gorm...等.
软件架构
网关和存储服务关系,如下图所示。 网关下一级是节点,每个节点下可以有N个服务,服务之间数据互相同步,互相备份。
网关服务介绍:
主要功能
- http请求转发
- TCP服务端
- 收集存储服务信息
- 提供前端页面接口
- 数据迁移
地址: https://gitee.com/llakcs/gdfs-center
文件存储服务介绍:
主要功能
- 文件下载
- 文件存储
- 批量删除文件
- 文件更新
- 增量同步文件
- 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 需要自己修改协议
使用说明
- 打开网关服务代码 go get 更新依赖
- 进入网关服务代码根目录修改config.yml配置后运行程序
- 进入网关服务代码找到web目录下gdfs-vue-admin改好vue相关配置 进入根目录 npm run dev 进入前端页面如下图所示 默认账号admin 密码123456
- 点击登录后,进入系统后台 找到服务管理和节点管理
- 先点开节点管理选择创建节点,如下图所示
- 运行文件存储服务,再去前端服务管理页面找到文件服务点击绑定,把相应的服务绑到对应的节点上,如下图所示。
- 全量迁移数据:应用场景单对单,即单个文件服务把现有数据拷贝到新的文件服务上,不管是文件还是数据库表数据。
License
MIT License