项目简介
本项目是基于微服务架构构建的分布式文件系统(MDFS),借助Spring Boot框架实现。系统包含NameNode节点与DataNode节点两类服务节点。NameNode节点负责管理文件目录并分配数据块,DataNode节点负责存储实际的文件数据块。同时,NameNode节点充当Eureka服务器,DataNode节点作为Eureka客户端,利用服务注册和发现机制达成节点间的通信与负载均衡。
项目的主要特性和功能
- 服务注册与发现:NameNode节点作为Eureka服务器,DataNode节点启动后向NameNode注册,实现服务发现与负载均衡。
- 文件管理:用户与NameNode交互,可实现文件的上传、查看和删除操作。文件目录信息存于NameNode,文件内容分块存储在不同的DataNode中。
- 数据冗余与可靠性:每个数据块有若干副本存于不同的DataNode,保障数据高可靠性。
- 负载均衡:采用简单负载均衡策略,优先选用负载低的DataNode节点进行数据存取。
- 状态监听:通过Eureka状态变更监听器,实时监控DataNode节点状态变化,确保系统稳定可靠。
安装使用步骤
假设用户已经下载了本项目的源码文件。
1. 配置文件:依据需求修改application.properties
文件里的配置项,如块大小、副本数和端口号等。
2. 启动NameNode:在NameNode工程目录下执行以下命令启动NameNode服务:
bash
mvn spring-boot:run
3. 启动DataNode:在DataNode工程目录下执行以下命令启动DataNode服务,多个DataNode需使用不同的端口号:
bash
mvn spring-boot:run -Dserver.port=xxxx
4. 测试接口:使用Postman或其他HTTP客户端工具测试文件系统的接口,如文件上传、查看和删除等操作。例如:
- 上传文件:PUT /fs/file
- 查看文件:GET /fs/file
- 删除文件:DELETE /fs/file
通过以上步骤,即可成功部署并使用本分布式文件系统。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】