![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
分布式系统
文章平均质量分 67
super_dmz
这个作者很懒,什么都没留下…
展开
-
分布式计算细节
一、如何将分布式计算表的数据映射到分布式KV存储引擎分布式系统里最核心的两个部分就是分布式计算和分布式存储。对于一个分布式数据库而言,一般将计算的sql layer置于分布式存储的kv之上,示意图如下:分布式数据库一般同样支持sql语法,但实现逻辑大不一样。mysql一般直接将数据按照行记录格式进行存储,每一个索引也是直接对应一个文件。而分布式数据库则会将每一个行记录或索引拆分出来,按照key-value的形式在kv存储引擎进行存储。转换规则如下所示:又或者这样: .原创 2021-11-30 18:14:29 · 931 阅读 · 0 评论 -
MIT6.824 lab3 KVRaft实验分析
原创 2021-11-24 14:58:39 · 1253 阅读 · 0 评论 -
一些有意思的分布式论文
前言因为时间原因,有些分布式论文在看到后没法立即阅读。因此将这些论文和里面有意思的点记录下来,等待日后实践过程中发现需要突破的点时重新阅读来找寻思路。原创 2021-11-17 15:08:38 · 242 阅读 · 0 评论 -
Scaling Memcache at Facebook论文理解
体会这篇论文读起来很有意思,设计体现了各方面的权衡,里面不仅考虑了分布式的CAP问题,也考虑到了计算机网络发包的机制和其他方面的内容,值得仔细品味。具体总结待完善原创 2021-11-16 19:26:54 · 990 阅读 · 0 评论 -
Spark论文理解
待完善原创 2021-11-16 19:24:00 · 1521 阅读 · 0 评论 -
技术书单和分布式课程
这里记录自己最近看过的一些书和公开课数据库分布式Java原创 2021-11-08 22:26:41 · 54 阅读 · 0 评论 -
待搞清楚的概念
平时读技术书的时候遇到了很多不太熟悉的概念,因为个人习惯,一般喜欢初步了解名词后等看完全书再重新阅读整理,所以这里把概念记下来,以防之后遗漏掉。LSM日志记录树XA分布式模型...原创 2021-11-04 19:35:10 · 72 阅读 · 0 评论 -
分布式锁实现方式
Redission机制:分布式锁_曾子墨-CSDN博客_分布式锁数据库、缓存、zookeeper三种机制各自实现方式综述:三种实现分布式锁的方式_vincent-CSDN博客_分布式锁原创 2021-11-04 15:34:49 · 1535 阅读 · 0 评论 -
RAFT论文常见问题总结
1、因为网络问题,先发的appendEntry通知比后发的appendEntry通知晚到server那里怎么办?答:完全覆盖,没有影响。考虑到leader更换的问题,没有办法对log顺序进行检查,即使出现第一次结束nextIndex=5,第二次结束nextIndex反退到4的情况也只能接受(中间可能会导致大步回退的情况,按照原始论文只能接受)2、如果一个leader分发log获得一半以上回复,然后自己commit后没有通知其他follower就崩掉怎么办?答:Raft里面有描述过,后续l原创 2021-11-02 16:49:02 · 215 阅读 · 0 评论 -
CRAQ链式复制与RAFT选举优缺点比较
本文产生于自己读DDIA一书时的困惑:如果链式复制和RAFT同样支持多节点读,而且CRAQ还可以有效降低带宽需求依次复制,为何主要还是使用RAFT待完成原创 2021-11-01 19:38:42 · 208 阅读 · 0 评论 -
Spanner论文理解
BigTable、MegaStore、Spanner三个概念并行,有各自不同的应用场景Spanner数据库最核心的贡献(个人感觉):True Time原创 2021-10-27 14:06:24 · 394 阅读 · 0 评论 -
分布式事务(Distributed Transactions)
Q: Why don't people use three-phase commit, which allows workers tocommit or abort even if the coordinator crashes?A: Three-phase commit only works if the network is reliable, or ifworkers can reliably distinguish between the coordinator being deada..原创 2021-10-26 12:31:40 · 298 阅读 · 0 评论 -
CRAQ论文学习理解
CRAQ实现链接:《Object Storage on CRAQ: High-throughput chain replication for read-mostly workloads》论文总结 - BrianLeeLXT - 博客园核心CRAQ本身也有很多地方基于Zookeeper实现。Zookeeper提供了API来统计集群信息以及实现选举、服务发现等功能。Dubbo里面的服务发现模块是基于Zookeeper实现。CRAQ与RAFT为不同的实现容错的机制,他通过分散写(每个原创 2021-10-25 16:16:36 · 514 阅读 · 0 评论 -
6.824 Lab2 PartB实验部分
测试文件内容分析func TestBasicAgree2B(t *testing.T) { servers := 3 cfg := make_config(t, servers, false) defer cfg.cleanup() cfg.begin("Test (2B): basic agreement") iters := 3 for index := 1; index < iters+1; index++ { // 开始对应index处不应该有任何日志记录 nd,原创 2021-10-04 15:34:58 · 226 阅读 · 0 评论 -
6.824 Lab2 PartA实验部分
测试文件测试内容分析func TestReElection2A(t *testing.T) { servers := 3 cfg := make_config(t, servers, false) defer cfg.cleanup() cfg.begin("Test (2A): election after network failure") leader1 := cfg.checkOneLeader() // if the leader disconnects, a new on原创 2021-09-29 11:35:39 · 277 阅读 · 0 评论 -
ZooKeeper: Wait-free coordination for Internet-scale systems论文理解
一个基于Zookeeper的分布式锁实现方法:zookeeper分布式锁避免羊群效应(Herd Effect) - 一个苦逼的程序员 - 博客园原创 2021-09-28 19:30:14 · 254 阅读 · 0 评论 -
RAFT论文理解
机制:client将动作请求发给server的application层->application层将日志下发给raft层->raft leader发送日志给其他follower->收到回复后,raft leader报告给application层->application层进行执行,将结果返还给client...原创 2021-09-16 11:01:34 · 342 阅读 · 2 评论 -
Spark讲解与使用
Map Reduce存在的问题在介绍Spark首先需要介绍为何要提出Spark,Hadoop高度支持的Map Reduce框架有什么不好的地方吗?答:没有完美的机制,Map Reduce范式存在下面问题1、模型能处理的应用有限,主要基于Map和Reduce处理,存在很多限制2、中间的文件储存在内存里,但是最后MR-output文件存在在文件系统里,涉及到磁盘读取的问题。在一个Map Reduce里存在大量Disk IO问题,效率很低因此在Hadoop的基础上提出了大量的附加系统,例.原创 2021-09-15 11:09:45 · 999 阅读 · 0 评论 -
Go Routine使用总结与并发使用同步方法
GO对于高并发有着非常良好的支持能力,而GO实现高并发的两个主要工具便是Go Routine和Channel。这里主要对Go Routine进行介绍。基本概念一般来说,协程就像轻量级的线程。线程一般有固定的栈,有一个固定的大小。而goroutines为了避免资源浪费(亦或是资源缺乏),采用动态扩张收缩的策略:初始量为2k,最大可以扩张到1G。另外,线程/goroutine 切换开销方面,goroutine 远比线程小线程:涉及模式切换(从用户态切换到内核态)、16个寄存器、PC、SP原创 2021-09-13 16:16:43 · 285 阅读 · 0 评论 -
The Design of a Practical System for Fault-Tolerant Virtual Machines论文理解
这篇论文主要介绍了VMware公司如何设计主从虚拟机机制保证整个系统的顺利运行介绍一般有两种方法可以把一个虚拟机的状态复制到另一个虚拟机里(这两种机制可以跟Redis的AOF、RDB持久化区别有点像)1、完整复制,把cpu里寄存器信息、内存、IO设备状态都发送给另一个虚拟机问题:需要传输的信息太大了,很耗费时间当同步的back-up挂掉时VMware公司似乎采用了类似这种思路的方式进行了同步2、State-Machine approach。思路类似有限状态机,即大部分时候输入一致,起原创 2021-09-13 00:17:16 · 197 阅读 · 0 评论 -
分布式博主记录
最近在学习MIT6.824的时候自己对内容进行了一定的总结,在这个过程中也发现了很多别的写分布式内容的博主,参考了他们的系列文章,这里对他们的博客地址进行汇总,便于自己以及访客以后个更好的学习分布式相关的内容BrianLeeLXT - 博客园...原创 2021-09-09 18:54:20 · 82 阅读 · 0 评论 -
The Google File System论文理解
原文链接:http://nil.csail.mit.edu/6.824/2020/papers/gfs.pdf相关背景介绍GFS是google基于自身业务场景涉及的全局文件系统,与Map Reduce结合很好的满足了需求。因为这个系统主要用于处理特定任务,所以放宽了对于一致性的要求,会让刚读论文的同学很费解。因为很多时候同一个文件的多个replica在这里其实内容是不一定完全一致的,所以基于GFS的任务通常要能基于序列号执行自动检测和修复,又或者基于GFS的任务需要对于结果偏差有更强的包容性,整体而原创 2021-09-09 12:35:11 · 374 阅读 · 0 评论 -
Map Reduce论文理解
原文连接:http://nil.csail.mit.edu/6.824/2020/papers/mapreduce.pdf原创 2021-09-08 16:21:03 · 204 阅读 · 0 评论