码云 Gitee IDE 全新上线——支持 Git 管理的轻量在线编码环境
Watch Star Fork

孤狼 / openNettyJavaMIT

加入码云
与超过 300 万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
封装NETTY来实现一个分布式文件传输服务,目标是提供定时的可靠安全文件传输。同时提供一种简便的方式,只需将数据配置好,剩下的交给时间就好。
zgm123 最后提交于 方法结构调整
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README.md 2.57 KB

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文件。
  4. 进入bin目录,执行start.sh。注意这是Linux下的启动脚本,如果在windows的环境中无法使用,请自行修改。

【openNetty-client】

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

【openNetty-server】

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

项目点评 ( 2 )

你可以在登录后,发表评论

搜索帮助