Raft论文阅读笔记 介绍 Paxos算法较为复杂,并且不易于应用到工业界,因此诞生了Raft算法,其首要目标是可理解性,Raft算法主要分解为几个部分:领导者选举、日志复制、安全性、成员变更等。Raft算法有一些独特的特性: 强领导者:日志entry只从领导者发送给其他服务器 领导者选举:Raft算法采用一个随即计时器来选举领导人 成员关系调整:Raft算法采用一种共同一致的方法来处理集群成员变换的问题, 2022-01-31 分布式系统 #一致性算法
Bitcask论文阅读笔记 简介 Bitcask是Riak分布式数据库使用的日志型存储模型,主要有以下几点特性: 读写低延迟 高吞吐量,尤其是随机写 能处理大量的数据集而不降低性能 故障时快速恢复且不丢失数据 易于备份和恢复 易于理解的代码结构和数据格式 结构 硬盘结构 在给定的一段时间内,只有一个active data file能提供append(写入)功能,当该文件大小达到指定阈值时,则会创建 2022-01-13 分布式系统 #存储模型 #数据库
Leetcode-字符串刷题记录 520. 检测大写字母 public boolean detectCapitalUse(String word) { int i = 0; char[] arr = word.toCharArray(); int up = 0, low = 0; while(i < arr.length){ 2021-02-18 计算机基础 > 算法 #算法
分布式系统理论笔记 引言 分布式系统面临的问题: 数据一致性:数据均匀分布到多个存储节点,如何保证多个副本的数据一致性问题。 集群可用性:集群的服务是否可用。 分区容错性:当发生故障,集群如何快速恢复从而提供正常服务。 理论 拜占庭将军问题 存在恶意节点行为的场景中(数字货币的区块链技术中):必须使用拜占庭容错算法(BFT)。常用的有PBFT算法、PoW算法。 计算机分布式系统中,最常用的是非 2021-01-23 分布式系统 #分布式系统
Leetcode-数组刷题记录 数组的遍历 485. 最大连续1的个数 public int findMaxConsecutiveOnes(int[] nums) { //res存储最长的子数组 int res = 0; //count记录的是每个被0隔断的子数组 int count = 0; for(int i = 0; i < 2021-01-08 计算机基础 > 算法 #算法