分布式
分布式
WhateverYoung
这个作者很懒,什么都没留下…
展开
-
[11][go] go concurrency
绝妙的 CHANNELchannel1channel提供了一种强大的、在不使用锁或临界区的情况下,从某个 goroutine 向其他 goroutine 发送数据流的方法。发送者才能关闭channel一个已经被关闭的 channel 永远都不会阻塞已经被关闭的 channel。当一个 channel 一旦被关闭,就不能再向这个 channel 发送数据,不过你仍然可以尝试从 cha...原创 2020-02-03 18:20:56 · 255 阅读 · 0 评论 -
[10][lecture] Lecture 6: Raft (2)
6.824 2018 Lecture 6: Raft (2)KVservicekey/value service as the example, as in Lab 3 goal: 集群服务对客户端表现和单机一致 goal: 少数节点失效依旧可用 watch out for network partition and split brain! 系统层级 clients - k/...原创 2020-01-31 13:44:52 · 332 阅读 · 0 评论 -
[9][lecture] Lecture 5: Raft (1)
6.824 2017 Lecture 5: Raft (1)第一部分,介绍raft选举和log复制技术,相关的lab是lab2A 2B;第二部分设计,raft持久化,client行为以及快照技术,涉及lab 2C和lab 3目前为止,讨论的技术主要是使用RSM技术做容错,比如configure server,gfs master或者mapreduce主节点,要达到的效果就是复制集对于clie...原创 2020-01-30 20:37:16 · 240 阅读 · 0 评论 -
[8][lab] lab2: raft impl
lab 2 raft本节作为实现ft KV store的基础部分,实现raft状态机复制协议,lab3基于lab2的raft模块,构建KV service,lab4基于上述构建shared KV service一般来说,容错通过复制集实现状态的复制,保证在少数节点故障的场景下服务依旧可用,挑战是数据的一致性Raft控制一个服务的状态复制,保证故障后的一致性,保证所有operator log...原创 2020-01-30 14:18:12 · 296 阅读 · 0 评论 -
[7][lecture] Lecture 4:VMware fault-tolerant virtual machines
6.824 2018 Lecture 4: Primary/Backup ReplicationVMvare FT,一个极端例子下的主备复制容错,即使出错也可以继续提供服务,应该具备以下条件:第一部分组件失效仍然可用;第二对外隐藏分布式,提供单机一样的一致性;第三,对客户端开发友好透明,对server开发友好透明;第四,性能足够好可以处理哪些失效?Fail-Stop类型的失效,独立的失效,...原创 2020-01-30 00:27:49 · 342 阅读 · 0 评论 -
[6][lab] lab1: map reduce
lab1 map reduce对比了一下2020和之前的lab1,代码结构有一些变化,2018作业代码侧重于实现map reduce以及schedule部分,其他部分由框架给出,2020则是给出了map reduce部分,并将mr和app利用plugin分开表达,同时需要lab开发整个mr框架部分,借鉴已完成的2018可以顺利完成该部分实验。master,由启动+wait,变更为启动+轮询,...原创 2020-01-29 19:47:18 · 456 阅读 · 0 评论 -
[5][paper] gfs at 2003
paper gfs 2003经历了一次甚是吊诡的新年,肺炎盛行,春节假期延长,幸运的是这次的冠状病毒致死性并不强,虽然赶上了春运的扩散,好在反应及时,应对及时,开始朝着乐观的方向前进了。感受到了外卖送不进小区,感受到了口罩,消毒水断货,没有物流的供应,没有及时的外卖送达,没有集会,所有景点全部关门,根据籍贯开始清查,所有公共交通,整个世界的停转,光怪陆离的2020拉开序幕。那么言归正传,GFS...原创 2020-01-28 21:40:47 · 207 阅读 · 0 评论 -
[4][lecture] Lecture 3: GFS
6.824 2018 Lecture 3: GFShdfs based on系统级别论文,网络带宽权衡、容错、一致性权衡了一致性和性能,简化设计map/reduce底层依赖的网络存储什么是一致性?每次读都能读到最新的写入数据并发访问时,存在复制集场景下较难实现严格的一致性,写入要写入所有复制集,读才能任意节点读到数据,那么弱一致性允许读到老的数据,强一致性则不允许,强一致性的应...原创 2020-01-24 13:05:30 · 311 阅读 · 0 评论 -
[3][lecture] Infrastructure: RPC and threads
6.824 2018 Lecture 2: Infrastructure: RPC and threadsWhy Go? (多年来使用c++完成了也不错,但是内存问题始终是大问题,困扰了很多同学很多时间,这门课程重点不在于定位解决内存问题,c++ rpc package不太理想,估计主要还是过多的segment fault或者内存泄露… Go并发支持一流/rpc库也还不错/GC支持,内存不在成...原创 2020-01-23 23:29:51 · 211 阅读 · 0 评论 -
[2][paper] map reduce at 2004
2004 map reduce google2020年1月底,新年伊始之际,一场始自武汉开始的疫情随着春运蔓延到全国,每天看着地图开始慢慢沦陷,心中忐忑不安,打破不安开始学习很久之前就想学习的东西,分布式mit6.824课程,课程阅读分布式领域的论文,讲解,开发作业最终完成shared-KV storage,希望2020年可以顺利完成该课程,可以在分布式领域有些基础,开篇的论文是google J...原创 2020-01-23 22:44:09 · 225 阅读 · 0 评论 -
[1][lecture] Introduction to distributed system
6.824 2018 Lecture 1: Introductionsummary什么是分布式系统?(多机器,核心组件是多机器,比如map reduce系统)为什么学习分布式?(组织物理隔离的不同机器/实现物理隔离/失败恢复/横向扩展)分布式复杂度?(并发/网络引入的失败,超时,网络中断,硬件故障)why本课程?(有趣且有难度/现实中实际应用很多/活跃的研究领域/实际开发分...原创 2020-01-23 21:41:39 · 179 阅读 · 0 评论 -
[0][go] go tutorial
Go base(package,variable,function)package组织,如何引用 import,导出名首字母大写函数语法,多返回值,命名返回值变量声明,作用于级别包,函数,自动类型推导int, uint 和 uintptr 在 32 位系统上通常为 32 位宽,在 64 位系统上则为 64 位宽。当你需要一个整数值时应使用 int 类型,除非你有特殊的理由使用固定大小或...原创 2020-01-23 21:39:08 · 479 阅读 · 0 评论