分布式
分布式相关和学习笔记
hodgeKou
这个作者很懒,什么都没留下…
展开
-
6.824 Raft lesson4 2020(一)
raft实现距离上一篇文章一个月,因为6.824的课程看不懂,基础知识薄弱。现在了解一点Raft算法(自己动手实现一遍)还需要其他分布式相关的基础知识(实现一个分布式对象存储系统),然后再去继续学习。总结一下,如果直接就去学习6.824的课程收效甚微,一定要有一定基础知识储备才可以!Raft算法简单实现。package mainimport ( "fmt" "log" "mat...原创 2020-04-26 21:27:18 · 615 阅读 · 0 评论 -
分布式是写出来的(六)
断点下载GET当服务端收到GET请求,服务端不会把整个对象返回给客户端,服务端首先做SEEK,查找客户端提供的Range: bytes=first的字节数,从0-first的内容服务端直接丢弃,那么服务端从first开始传递数据POST如果客户端想分片上传数据,那么客户端和服务端,须有约定。使用POST告诉服务端上传数据长度和散列值。服务端生成一个对象信息,然后返回给客户端一个token...原创 2020-04-26 21:25:12 · 184 阅读 · 0 评论 -
分布式是写出来的(五)
数据冗余策略数据冗余是指在存储和传输过程中,出了实际需要的数据,还存在额外的数据进行校验。(额外的数据可以是一个备份,也可以是校验完毕的数据)ECC(Error Checking and Correcting)ECC内存,即应用了能够实现错误检查和纠正技术(ECC)的内存条。一般多应用在服务器及图形工作站上,这将使整个电脑系统在工作时更趋于安全稳定。ECC是“Error Checking a...原创 2020-04-26 21:25:00 · 208 阅读 · 0 评论 -
分布式是写出来的(四)
数据去重为了防止同一份数据上传多次,我们需要进行hash值校验。启动服务时,扫描所有文件,计算sha256值,存储在hash表中。上传文件时,在put请求中添加自己计算的sha256值,hash表内的值进行比较,达到数据去重的目的。数据校验在传输过程中,数据可能损坏丢失,那么数据存储层就没必要存储这个数据了。验证客户端提供的散列值和根据已经上传的对象的散列值进行对比一致性。...原创 2020-04-26 21:24:46 · 148 阅读 · 0 评论 -
分布式是写出来的(三)
ES的基本使用启动(windows)elasticsearch-7.6.2-windows-x86_64\elasticsearch-7.6.2\bin\elasticsearch.bat成功http://192.168.7.6:9200/people链接服务器的golang操作添加索引package main import ( "context" "fmt" "github....原创 2020-04-26 21:24:33 · 170 阅读 · 0 评论 -
分布式是写出来的(二)
从单机存储进化为接口和存储的分离概述接口服务层对外提供REST服务,数据服务层提供数据存储功能。两者之间通过消息队列进行通信,数据服务层的所有数据服务注册dataServer Exchange, 以便client给接口服务层发消息后,接口服务收到GET请求时,定位对象被保存在哪一个数据服务节点,通过dataServer Exchange找到对应的数据服务。为保证dataServer Excha...原创 2020-04-26 21:24:18 · 221 阅读 · 4 评论 -
分布式是写出来的(一)
分布式对象存储笔记实现一个单机版本的对象存储package mainimport ( "io" "log" "net/http" "os" "strings")func Handler(w http.ResponseWriter, r *http.Request) { m := r.Method if m == http.MethodPut { put(w, r)...原创 2020-04-26 21:24:03 · 200 阅读 · 0 评论 -
6.824 RPC lesson3 2020(二)
GFS《待补充》原创 2020-03-02 17:27:44 · 117 阅读 · 0 评论 -
6.824 RPC lesson2 2020(二)
Use RPC to make a kv storage serverGo example: kv.go on schedule pageA toy key/value storage server – Put(key,value), Get(key)->valueUses Go’s RPC libraryCommon:Declare Args and Reply struct f...原创 2020-02-25 18:17:11 · 305 阅读 · 0 评论 -
6.824 RPC lesson2 2020(一)
resourceshttps://pdos.csail.mit.edu/6.824/notes/crawler.gohttps://pdos.csail.mit.edu/6.824/notes/l-rpc.txthttps://pdos.csail.mit.edu/6.824/notes/kv.goRPC_concept19 | 分布式通信之远程调用:我是你的千里眼(https://ti...原创 2020-02-24 18:28:37 · 176 阅读 · 0 评论 -
6.824 MapReduce lab1 2020(二)
The example of mrsequential.go[kou@python main]$ go run mrsequential.go wc.so pg*.txt2020/02/22 21:20:31 cannot load plugin wc.soexit status 1[kou@python main]$ more mr-out-0 A 509ABOUT 2ACT 8...原创 2020-02-22 21:32:32 · 1069 阅读 · 2 评论 -
6.824 MapReduce lab1 2020(一)
文章目录MIT 6.824 分布式系统 lab1:MapReduceNoteswordcount's MapReduce Model look likea simple sequential mapreduce implementation(mrsequential.go)MIT 6.824 分布式系统 lab1:MapReduce文档 https://pdos.csail.mit.edu/6...原创 2020-02-22 15:27:42 · 1386 阅读 · 0 评论