您现在的位置是:网站首页> 新闻快讯> 软件使用 新闻快讯
java游戏下载平台
小玉2023-07-05【软件使用】
247人已围观
简介本项目是使用Java开发的一个分布式海量小文件存储系统,功能包括文件上传、文件下载、文件存储等,解决了海量小文件在存储和访问过程中遇到的各种性能

java游戏下载平台
最后更新:2023-07-05 04:17:55
推荐指数:
本项目是使用Java开发的一个分布式海量小文件存储系统,功能包括文件上传、文件下载、文件存储等,解决了海量小文件在存储和访问过程中遇到的各种性能问题。开源地址:自研分布式小文件存储系统:小文件存储:几KB~几百MB之间的文件存储#文件系统##小型文件系统#小文件系统的网络部分原本实现比较杂乱,这是由于讲课的时候需要讲解各种技术的使用方式和演示最底层的开发是使用那些API。所以在课程中的网络分别使用了原生NIO和gRpc但是我们做技术选型的时候选择统一网络请求方式,统一采用Netty作为网络通讯框架,改造前后对比如下图。文件传输协议在集群中会有几种场景需要进行文件传输,比如上传、下载文件是客户端和DataNode之间进行文件传输,BackupNode和NameNode之间也要进行FsImage的文件传输。所以设计了一套文件传输的协议。文件传输的网络包包括包类型、文件元数据、文件内容二进制数据,如图:分块传输设计如图所示,当发送一个请求的时候,假如服务端写回的响应较大(超过最大消息长度),此时可以根据请求是否支持分块传输来决定是否需要拆包传输,可以将1个包拆分为n个包,然后传输给NetClient,NetClient收到包的时候,会根据一定的机制判断整个包是否传输完整,当收到了所有的响应包之后,再将所有的响应包合并成一个包,然后返回给用户。NameNode联邦架构为了解决大规模海量小文件带来的内存增长压力,开发了NameNode的联邦架构,简单来说,就是通过多个NameNode节点组成集群,每个NameNode节点保存整个内存目录树的一部分数据。
很赞哦! (0)
相关文章
文章评论
验证码: