分布式
文章平均质量分 82
Kaimar
⚽⚽⚽
展开
-
【分布式缓存源码分析】总结篇
文章目录1.流程1.1 流程回顾1.2 远程访问分布式节点2.参考上一节解决了访问哪个节点的问题,即选择哪个分布式节点获取缓存值,本节实现分布式节点注册和与远程节点的服务端通信。1.流程1.1 流程回顾 是接收 key --> 检查是否被缓存 -----> 返回缓存值 ⑴ | 否 是 |-----> 是否应当从原创 2022-03-24 21:01:20 · 1020 阅读 · 1 评论 -
【分布式缓存源码分析】一致性哈希(五)
文章目录1.什么是一致性哈希2.为什么使用一致性哈希2.1 问题一:普通哈希的扩展性问题(新加节点)2.2 问题二:普通hash的容错性问题(节点下线)2.3 一致性哈希优化2.4 虚拟节点3.代码实现4.验证5.总结参考前面已经首先实现了LRU缓存,然后基于LRU缓存进行了并发访问控制、控制缓存值存储和获取的流程,并对缓存值进行了抽象与封装,其次基于分布式架构,实现了分布式节点相互访问的HTTP服务端。1.什么是一致性哈希对于分布式存储,不同机器上存储不同对象的数据,那么该使用什么方式去找到目原创 2022-02-25 16:58:05 · 478 阅读 · 0 评论 -
【分布式缓存源码分析】HTTP服务端(四)
文章目录1.HTTP服务端2.代码注释1.HTTP服务端为什么需要建立HTTP服务端?这是一个分布式缓存,有很多个分布式的节点,节点之间需要进行通信,那么这里采用HTTP通信,也有其他的方式如RPC等。如果一个节点启动了它的HTTP服务端,那么它就可以被其他节点访问。2.代码注释核心代码是ServeHTTPpackage geecacheimport ( "fmt" "log" "net/http" "strings")/* 本文件提供被其他节点访问的能力(基于htt原创 2022-02-23 23:17:13 · 321 阅读 · 0 评论 -
【分布式缓存源码分析】单机并发缓存(三)
文章目录1.并发访问2.控制存储和获取3.难点-接口型函数4.总结参考上一篇是实现缓存淘汰策略,采用LRU算法实现了对缓存的增删改查。本篇是基于并发访问缓存的场景,对LRU进行并发控制。1.并发访问并发访问就要用到互斥锁sync.Mutex,利用它实现对LRU缓存的并发写。package geecacheimport ( "geecache/lru" "sync")/*本文件完成的是并发控制。add方法中判断lru为空才进行实例化,被称为延迟实例化,即一个对象的延迟初始化意原创 2022-02-21 21:37:14 · 310 阅读 · 0 评论 -
【分布式缓存源码分析】LRU缓存淘汰策略(二)
文章目录1.定义LRU结构体1.1 LRU1.2 数据结构2.实现增删改查3.总结1.定义LRU结构体1.1 LRULRU是最近最少被使用,顾名思义,若要淘汰就要淘汰当前最少使用的。LRU 算法的实现非常简单,维护一个队列,如果某条记录被访问了,则移动到队尾,那么队首则是最近最少访问的数据,淘汰该条记录即可。1.2 数据结构基于上图,可以知道有两个数据结构,一个map,一个双向链表,将所有的值放到双向链表中,这样,当访问到某个值时,将其移动到队尾的复杂度是O(1),在队尾新增一条记录以及原创 2022-02-18 21:05:06 · 474 阅读 · 0 评论 -
【分布式缓存源码分析】Memcached、groupcache和GeeCache(一)
文章目录1. 分布式缓存1.1 背景1.2 面临的问题1.2.1 内存1.2.2 并发写1.2.3 单机性能2. 分布式内存对象缓存系统介绍2.1 Memcached2.1.1 介绍2.1.2 常见的提速方法2.1.3 memcached特征2.1.4 使用场景2.2 groupcache2.3 GeeCache参考首先,项目来自极客兔兔分布式缓存-GeeCache,我们先来谈谈分布式缓存,然后介绍一下项目,后序几篇来进行详细分析以及加一些自己的思考。1. 分布式缓存引用极客兔兔博客中的一句话,原创 2022-02-03 11:35:40 · 443 阅读 · 0 评论 -
【匿名网络综述】匿名分布式网络之匿名网络综述
文章目录1.匿名网络的一些概念1.1 匿名网络的目标1.2 匿名网络的匿名性划分1.2.1 发送者(接收者)匿名性1.2.2 发送者(接收者)不可观测性1.3 匿名网络的一些设计要素1.3.1 网络结构1.3.2 时间假设1.3.3 路由策略1.3.4 转发混合1.3.5 流量混淆1.4 匿名网络的一些评价指标1.4.1 匿名性1.4.2 延迟1.4.3 带宽开销1.4.4 三难困境2.匿名的实现思想2.1 消息中转2.2 逻辑广播3.基础匿名网络3.1 Mix网3.1.1 核心思想3.1.2 问题3.1.原创 2021-12-15 21:00:37 · 5333 阅读 · 0 评论 -
【分布式】ZooKeeper论文总结
文章目录1. ZK是什么1.1 简介1.2 作用1.3 应用场景2. ZK的关键技术2.1 共识算法和一致性2.1.1 强一致性2.1.1.1 顺序一致性2.1.1.2 线性一致性2.1.1.3 对比2.1.2 弱一致性2.2 znodes2.3 wait-free2.4 ZK服务组件3.总结参考1. ZK是什么1.1 简介**论文中的原话**本文描述分布式应用的协调服务:ZooKeeper。ZooKeeper 是关键基础设施的一部分,其目标是给客户端提供简洁高性能内核用于构建复杂协调原语。1原创 2021-12-14 11:25:20 · 2785 阅读 · 0 评论 -
【分布式】论文《Amazon Aurora: Design Considerations for High Throughput Cloud-Native Relational Databases》
参考来自 https://www.cnblogs.com/zzk0/p/13425353.html来自 https://www.cnblogs.com/brianleelxt/p/13332312.html来自 https://mit-public-courses-cn-translatio.gitbook.io/mit6-824/lecture-10-cloud-replicated-db-aurora/10.3这是根据论文和MIT6.824课程讲解的总结,写在OneNote上,贴上来就.原创 2021-10-09 15:39:23 · 242 阅读 · 0 评论 -
【分布式】论文总结《Object Storage on CRAQ: High-throughput chain replication for read-mostly workloads》
文章目录1.2.3.4.5.参考1.2.3.4.5.参考[1] https://www.cnblogs.com/zzk0/p/13504600.html[2] https://www.cnblogs.com/brianleelxt/p/13275647.html原创 2021-10-08 10:58:15 · 246 阅读 · 0 评论 -
【分布式】Raft 论文解读
参考【1】论文:《In Search of an Understandable Consensus Algorithm (Extended Version)》【2】论文翻译:https://github.com/maemual/raft-zh_cn/blob/master/raft-zh_cn.md原创 2021-08-24 17:17:33 · 138 阅读 · 0 评论 -
【分布式】MIT 6.824 Lab1-MapReduce
文章目录1. 概述1.1 总览1.2 要完成的工作2. 设计2.1 分析2.2 工作顺序3. 编码4. 运行结果4.1 执行代码4.2 运行结果5. 总结参考1. 概述1.1 总览首先,我们要清楚MapReduce的论文内容,有哪些部分,每部分干什么。这里放一张总览图,来自论文里面。工作流程总览输入文件进行分片;由Master分配任务(Map或Reduce)给worker;运行Map任务的worker读取分片内容解析为键值对,并将内容交给Map函数得到中间key/value输出缓存到内原创 2021-08-21 12:19:50 · 597 阅读 · 0 评论 -
【分布式】(VM-FT论文解读)容错虚拟机分布式系统的设计
文章目录1. 论文概述2. 系统架构2.1 VMWare FT的结构图2.2 replay(确定性重放)2.3 FT Protocol2.4 FT Logging Buffers and Channel2.5 监测和故障响应2.6 虚拟机恢复2.7 额外的选择3. VM-FT与GFS的容错性比较参考这是阅读论文《The Design of a Practical System for Fault-Tolerant Virtual Machines》的笔记,也是MIT6.824课程的第四课要求阅读的论文。原创 2021-06-18 17:41:30 · 1531 阅读 · 1 评论 -
【分布式】GFS(Google File System)论文解读
文章目录1.背景2.系统概览2.1 架构2.2 文件分块2.3 元数据2.4 数据一致性3.GFS集群常见的操作3.1 Master NameSpace管理3.2 读取文件3.3 Chunk Lease3.4 文件写入3.5 文件追加3.6 文件快照3.7 Replica管理3.8 删除文件4.高可用性(容错机制)4.1 Master4.2 Chunk Server4.3 数据完整性结语参考1.背景当时的应用场景和设计需求:分布式组件的故障时常发生,机器容易发生故障;文件十分巨大;大部分文件原创 2021-06-05 16:40:56 · 1261 阅读 · 0 评论 -
【分布式】Chubby论文解读
参考文献:[1] The Chubby lock service for loosely-coupled distributed systems [2] Paxos Made Simple 声明 文中大部分的观点来自于文献[1]中的描述,但也夹杂了部分本人自己的理解,所以不能保证本文的正确性。真想深入了解Chubby还是好好读原版论文吧:)前言MapReduce 很多人已经知道了,但关于Chubyy似乎熟悉它的...转载 2021-05-12 09:52:39 · 450 阅读 · 0 评论