分布式系统中的线性一致性 前言分布式一致性指的是在同一个系统中,不同客户端操作看到的数据之间的关系。这里重点关注的是网络键值存储系统中的一致性模型。 首先为什么这有可能出现问题呢?主要是来源于分布式系统中特有的问题,包括: 并发读/写 副本 缓存 故障、恢复 重传 … 这些问题就有可能导致系统出现意想不到的场景,比如如下是一个简单的生产者代码: 12put("result", 27)put 2024-03-28 MIT6.824 > 其他 #分布式 #MIT6.824
【MIT6.824】lab2B-log replication 实现笔记 引言lab2B的实验要求如下: Implement the leader and follower code to append new log entries, so that the go test -run 2B tests pass. Hint: Run git pull to get the latest lab software. Hint: Your first goal shou 2024-03-19 MIT6.824 > Lab #分布式 #MIT6.824 #Go
【论文阅读】Not All Resources are Visible:Exploiting Fragmented Shadow Resources in Shared-State Scheduler Architecture 论文信息论文地址: Not All Resources are Visible: Exploiting Fragmented Shadow Resources in Shared-State Scheduler Architecture 收录会议: 云计算顶会-ACM Symposium on Cloud Computing(SoCC2023) 作者: 交通大学-李超教授团队 背景资源:一个集群中 2024-03-14 论文阅读 #论文阅读 #集群调度
Linux控制台输出多种样式彩色字符及原理解析 1. 前言之前在做MIT6.824的实验的时候,有助教资料在说明如何输出彩色的字符来让日志更加清晰。所以对Linux控制台如何输出多种样式的彩色字符以及它的原理产生了兴趣,学习了之后在这里记录一下。 2. 原理Linux控制台输出彩色字符的原理是通过ANSI转义码来实现的。ANSI转义码是一种控制字符,用于控制文本终端的行为。包括但不限于控制光标位置、颜色、清屏等。 下面这是一段输出蓝色字符的控制 2024-03-02 其他 #Linux
在Unbuntu上安装Go以及解决Vscode上Go插件无法安装的问题 1. 下载 Go 压缩包在写这篇文章的时候,Go 的最新版为 1.22.0。在我们下载安装包时,请浏览Go 官方下载页面,并且检查一下是否有新的版本可用。 以 root 或者其他 sudo 用户身份运行下面的命令,下载并且解压 Go 二进制文件到/usr/local目录: 1wget -c https://dl.google.com/go/go1.22.0.linux-amd6 2024-03-01 其他 #转载 #Go
在CentOS上使用源码安装Python3.7,不与系统Python2.7冲突,同时支持pip3(脚本安装,亲测有效) 该脚本主要是在Centos系统上使用源码安装Python3.7,安装后可以调用python3和pip3来进行使用,同时不与系统Python2.7冲突,还额外加入了腾讯的pip源来加速pip3下载包。 脚本使用方法如下: 创建文件 install_py37.sh,写入以下 shell 脚本 赋予执行权限,chmox +x install_py37.sh 执行脚本,./install_py37.sh 2024-03-01 其他 #转载 #Python
【MIT6.824】lab2A实现笔记 引言实现了MIT6.824中的lab2A,即leader选举的部分。 Raft结构及初始化为一个Raft中的节点增加的变量主要有: currentTerm: 当前任期 votedFor: 为谁投票, -1表示没有投票,注意一个任期只能投一次票 state: 当前节点的状态 heartbeatTimeout: 心跳超时计数器 electionTimeout: 选举超时计数器 1234567891 2024-02-27 MIT6.824 > Lab #分布式 #MIT6.824 #Go
【论文阅读】In Search of an Understandable Consensus Algorithm 引言共识一致性算法常用在分布式系统中,一个系统会有一个领导者,如GFS,我们需要有多个领导者副本来提高系统的容错性。但是之前的共识性算法经常采用Paxos,但是该算法很难理解。所以本文的作者重点面向可理解性提出了一个新的共识性算法Raft。主要做法是将大步骤分解成小步骤,然后尽量降低复杂度。 在具体关注其实现之前强烈建议去raft可视化中去学习一下基本的流程,以对其有个大概的印象,然后还可以参考这 2023-12-26 MIT6.824 > 论文 #分布式 #MIT6.824 #论文阅读
【论文阅读】The Design of a Practical System for Fault-Tolerant Virtual Machines 为了更有效的做论文阅读笔记,之后都打算将每篇论文笔记的内容控制在较少的字数范围内,毕竟原论文摆在那里,将其翻译照抄过来也没什么意思,将论文读薄才是最重要的。( •̀ ω •́ )✧ “The Design of a Practical System for Fault-Tolerant Virtual Machines”是MIT6.824推荐阅读的论文之一,它介绍了一种通过主备机制来进行单核虚拟机 2023-12-12 MIT6.824 > 论文 #分布式 #MIT6.824 #论文阅读
【论文阅读】The Google file System The Google file System论文是MIT6.824中推荐阅读的论文,他是Google早期的三大论文之一,由于课程并不需要实现这个系统,所以就对整部论文中的关键点进行介绍总结。 相关背景为了满足Google快速增长的数据处理需求,Google需要自己构建一套文件系统——The Google file System(GFS)。而这套文件系统也必须是分布式的文件系统才足以满足要求,但是我 2023-12-05 MIT6.824 > 论文 #分布式 #MIT6.824 #论文阅读 #GFS