分布式
文章平均质量分 91
victorika
这个作者很懒,什么都没留下…
展开
-
JumpConsistentHash,一种快速、简单、内存占用最少的一致性hash算法
JumpConsistentHash提出了一种崭新的思路来解决这类问题,如果理解了原理那很容易看出想要增加或者删除node需要在末尾进行操作,这是和传统的实现不一样的地方。但笔者认为这个不是什么很大的缺点,它优秀的复杂度和实现完全可以覆盖掉这个缺点。笔者最近刚好要搭一套分布式缓存服务,最后直接拿这个上手非常好用。如果还想了解更多细节,比如benchmark之类的建议看原文。原创 2023-04-23 16:39:55 · 637 阅读 · 2 评论 -
Raft论文简述
目的根据论文的实现来看,我认为Raft和Paxos这些一致性算法是为了解决分布式里状态机同步的问题。最典型的应用分布式里的容错,你的所有server都需要有备份,如果是有带状态的server,那么master和secondary之间的数据如何保持一致性就是一个难题,而这些算法就是为了解决这个问题的。前言这里稍微提一下,一般来说同步状态机,有以下两种方案。1.State Machine。将完整的状态同步。2.Replicated Machine。假设没有外因的情况下,对一样的状态机输.原创 2021-01-16 21:17:45 · 692 阅读 · 1 评论 -
Google File System总结
此文章完全基于作者本人对论文的理解,可能会哪里理解得不到位,仅供参考。目的GFS诞生是为了如何设计一个高效的顺序读写的分布式文件系统。需要解决的问题需要解决的问题都是分布式要解决的惯例了。性能,容错,复制和一致性。性能利用复数台机器的资源来完成工作,性能就可以有显著提高。所以自然就会想到把数据分片,分成复数片段后分布在不同的机子上,就可以做到同时从不同的机子上读取数据了。容错但是一旦你同时运行了成百上千台机器,那么就会将本来很小的错误给放大,本来概率很低的错误就可..原创 2020-12-17 16:56:52 · 494 阅读 · 0 评论 -
MIT6.824 Lab 1: MapReduce
mit的分布式实验。第一个实验就是实现google MapReduce论文的简单版本,基于课程要求,我的代码就不公开了(本身也不会go,边写边查资料的,临时磨枪上阵,代码写得太烂)。直接我的思路。流程分为两个部分,master和worker。master:3个协程,(注意go的协程是可以在不同的线程的,所以写共享数据的时候要上锁)1.RPC服务器。提供两个rpc接口GetTask和markTaskFinish,用于获取任务和标记任务完成。2.任务状态检查,检查所有任务是否完.原创 2020-11-22 19:32:29 · 375 阅读 · 0 评论