1 Star 0 Fork 59

醉步天下 / openNetty

forked from 西门吹雪 / openNetty 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README.md 2.51 KB
一键复制 编辑 原始数据 按行查看 历史
西门吹雪 提交于 2023-05-24 10:25 . 优化readme

openNetty

封装NETTY来实现一个分布式文件传输服务,目标是提供定时的可靠安全文件传输。同时提供一种简便的方式,只需将数据配置好,剩下的交给时间就好。

目前仅支持定时单文件传输,文件读取方式为流式读取,即便是超大文件,对内存的占用也依旧很小。 不必担心传输大文件内存泄露的情况。 同时对传输的文件信息进行了多重加密,和随机秘钥校验。 任务的执行方式采用定时任务的方式,这只是我展现的一种形式。可以自己调用方法进行改写。

openNetty能做什么:

  1. 分布式节点传输
  2. 定时任务
  3. 流式读取
  4. 安全校验
  5. 断点续传

一般使适用于定时产生文件的情景,例如线上数据跑批计算结果下载,数据定时备份任务,异地定时灾备等。 尤其是数据库一般安装在内网或vpn中,数据库工具无法连接,可通过代理软件进行转发。 服务将所有TCP数据包以HTTP格式封装,目的也是为了适应通用的代理软件。

======================================

【STEP】 项目clone至本地目录,使用maven进行打包。

  1. git clone https://gitee.com/ironzheng/openNetty.git
  2. mvn clean install package
  3. 在不同模块的target下将会生成一个zip压缩包。将zip压缩包放置对应的机器中,进行解压。进入conf目录配置back.properties文件。【client 和 server 都需要配置】!!!
  4. client 配置
    1. back.root 下载到本地的路径,路径最后要带上\,拼接路径时候不会自动处理
    2. back.filename 下载的文件名字,这个指在server端的文件
    3. back.downloadfile 定时任务
  5. server 配置
    1. back.root 被下载的文件所在的目录
  6. 进入bin目录,执行start.sh。注意这是Linux下的启动脚本,如果在windows的环境中无法使用,请自行修改。

【openNetty-client】

client主要作为节点端,通过定时器设定定时任务。在指定的时间点上,查询配置中的服务器地址并发送下载指令。

【openNetty-server】

server端监听TCP网络端口,接收远程的client指令。指令必须满足自定义头信息,否则数据包会丢弃。

项目结构为,client发送下载指令到server,文件位于server端。然后client端定时下载server端的文件进行保存。 需要在client端,配置下载的时间和对应的文件名字。 server端,配置文件所在的路径

Java
1
https://gitee.com/shhg/openNetty.git
git@gitee.com:shhg/openNetty.git
shhg
openNetty
openNetty
master

搜索帮助