文章分类 -  分布式

摘要:一、选择题 CRUSH算法最初是为哪个分布式存储系统设计的? 正确答案:C. Ceph 解释: CRUSH(Controlled Replication Under Scalable Hashing)算法最初是为 Ceph 分布式存储系统设计的,用于高效地分布和复制数据。 CRUSH算法的主要作用是 阅读全文
posted @ 2024-10-14 14:40 daligh 阅读(210) 评论(0) 推荐(0)
摘要:Ceph 是一个高度可扩展的分布式存储系统,主要用于提供对象存储、块存储和文件存储服务。共识(Consensus)在 Ceph 中扮演着至关重要的角色,特别是在确保集群中多个节点间的数据一致性和可靠性方面。Ceph 的共识实现主要依赖于 Paxos 算法和一套由 Ceph 自身设计的架构来确保分布式 阅读全文
posted @ 2024-10-08 17:21 daligh 阅读(85) 评论(0) 推荐(0)
摘要:什么是 Raft 协议? Raft 是一种分布式共识算法,它将状态机复制问题分解为三个关键部分: Leader 选举:确保集群中只有一个节点负责处理客户端请求。 日志复制:Leader 将客户端请求记录到日志,并将日志复制到集群中的其他节点。 安全性:确保状态机以相同的顺序应用日志,保证一致性。 在 阅读全文
posted @ 2024-10-07 23:12 daligh 阅读(610) 评论(0) 推荐(0)
摘要:相关部署:https://blog.csdn.net/m0_58833554/article/details/134604853 使用golang实现cegh上传 data, _ := ioutil.ReadAll(newFile) cephPath := "/ceph/" + fileMeta.F 阅读全文
posted @ 2024-09-09 09:19 daligh 阅读(77) 评论(0) 推荐(0)
摘要:一、同步文件上传架构 同步上传是一种传统的文件传输方式。在该模式下,整个上传流程是线性、连续的,客户端发送请求后,必须等待整个文件传输过程完成,才会收到最终的确认响应。这种上传架构的优点是操作简单,流程透明,上传结果可以即时反馈给用户。我们通过以下流程图来理解同步上传: 客户端首先将文件发送至上传服 阅读全文
posted @ 2024-09-09 09:18 daligh 阅读(74) 评论(0) 推荐(0)
摘要:在这个架构图中,Redis 被用于存储文件的元信息,其使用原因和优势如下: 1. 高效的缓存机制: Redis 是一个内存数据库,拥有极快的读写速度。在文件上传过程中,尤其是当文件分块上传时,频繁的读写文件元信息(例如,文件的 Hash 值、上传进度、文件分块信息等)可能会拖慢系统性能。将这些元信息 阅读全文
posted @ 2024-09-07 22:36 daligh 阅读(103) 评论(0) 推荐(0)
摘要:本文主要介绍账号系统的相关功能 1.用户注册登录 2.session鉴权 3.用户数据隔离 用户表: -- 创建用户表 CREATE TABLE `tbl_user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `user_name` varchar(64) NO 阅读全文
posted @ 2024-09-07 20:17 daligh 阅读(122) 评论(0) 推荐(0)
摘要:主要用于保存文件元信息的保存 这里主要是在技术选型上的考虑 SQL数据库与非SQL数据库的区别与选择 在现代应用开发中,选择合适的数据库管理系统至关重要。无论是传统的关系型数据库(SQL)还是新兴的非关系型数据库(NoSQL),它们各自都拥有独特的优势,适用于不同的应用场景。本文将介绍SQL数据库与 阅读全文
posted @ 2024-09-07 19:18 daligh 阅读(29) 评论(0) 推荐(0)
摘要:接口列表: (为了节省代码量只写出关键的函数实现) 实现上传接口: 从请求中提取文件。 创建一个新的 FileMeta 对象来存储文件信息,如文件名、上传时间和服务器上的存储位置。 在服务器上创建一个新文件来存储上传的内容。 将上传文件的内容复制到新创建的文件中。 计算文件的唯一标识符(SHA1 哈 阅读全文
posted @ 2024-09-06 19:21 daligh 阅读(17) 评论(0) 推荐(0)
摘要:引言 在设计文件传输系统时,选择合适的分块大小对于确保高效的数据传输至关重要。我尽量影响分块大小的因素,并通过一个具体的测试案例来分析最佳分块大小的选择。此外,我参考了FTP协议如何处理文件传输,并讨论其优点。 1. 影响分块大小的因素 在选择分块大小时,需要考虑以下几个关键因素: 网络带宽:了解网 阅读全文
posted @ 2024-08-16 10:13 daligh 阅读(245) 评论(0) 推荐(0)
摘要:1. 初识 Nginx 1.1 什么是 Nginx? Nginx(发音为“engine x”)是一款开源的高性能服务器软件,由俄罗斯的工程师 Igor Sysoev 开发。它是用 C 语言编写的,并以其出色的性能和灵活性广受欢迎。此外,淘宝还基于 Nginx 修改开发了 Tengine 以适应其特定 阅读全文
posted @ 2024-08-14 13:54 daligh 阅读(78) 评论(0) 推荐(0)
摘要:FastDFS 是一款开源的分布式文件系统,它主要解决了大文件的存储与负载均衡问题,非常适合用于海量文件的存储需求。本文将详细介绍如何启动和使用 FastDFS,包括启动追踪器、存储节点、客户端,以及如何进行文件上传下载与状态检测。 1. FastDFS 组件介绍 FastDFS 系统由三个核心组件 阅读全文
posted @ 2024-08-14 13:36 daligh 阅读(1438) 评论(0) 推荐(0)
摘要:FastDFS 是一个开源的高性能分布式文件系统(DFS)。 它的主要功能包括:文件存储,文件同步和文件访问,以及高容量和负载平衡。主要解决了海量数据存储问题,特别适合以中小文件(建议范围:4KB < file_size <500MB)为载体的在线服务。 FastDFS 系统有三个角色:跟踪服务器( 阅读全文
posted @ 2024-08-13 10:42 daligh 阅读(152) 评论(0) 推荐(0)