终于快刷完了 6.824 分布式系统实验…… - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
wlgq2
V2EX    Go 编程语言

终于快刷完了 6.824 分布式系统实验……

  •  
  •   wlgq2
    wlgq2 2019-12-16 09:54:51 +08:00 9416 次点击
    这是一个创建于 2201 天前的主题,其中的信息可能已经有所发展或是发生改变。

    MIT 的分布式系统课程,耗费快三个月,算是我学会编程以来写过最难写的代码。现在只剩第四章第二个小结不能完全通过测试。 我写了较为详细的中文注释及打了很详细调试日志。可能对其他人有点帮助,源码

    第 1 条附言    2019-12-25 16:26:14 +08:00
    全部测试通过,顺带做了两道挑战题。
    41 条回复    2020-03-13 21:10:57 +08:00
    ytlm
        1
    ytlm  
       2019-12-16 10:03:58 +08:00
    dryadent
        2
    dryadent  
       2019-12-16 10:09:40 +08:00
    赞,我之前也做过;做到一半就废了
    wlgq2
        3
    wlgq2  
    OP
       2019-12-16 10:14:15 +08:00
    @dryadent 个人觉得 Raft 乱序比较痛苦,而且协程太多,不能打断点调试,只能分析日志,做完有种柳暗花明的感觉。其次就是第四章跨组转移分片数据比较痛苦,我还在排查哪里有问题……
    Leigg
        4
    Leigg  
       2019-12-16 10:16:30 +08:00 via iPhone
    nbb
    dryadent
        5
    dryadent  
       2019-12-16 10:18:33 +08:00
    @wlgq2 确实,除了程序之外前期需要阅读的英文文献也比较多,但是收获还是很多的
    hnyoumfk
        6
    hnyoumfk  
       2019-12-16 10:29:04 +08:00
    赞!我也正在学,有疑问需要讨论的话可以直接提 issue 吗~
    lovelife1994
        7
    lovelife1994  
       2019-12-16 10:32:46 +08:00 via iPhone
    牛 做完第一个就搁置了 哥们够自律啊
    noreplay
        8
    noreplay  
       2019-12-16 10:36:11 +08:00
    rouzip
        9
    rouzip  
       2019-12-16 10:39:12 +08:00
    有木有一起刷 2020 的呀~
    https://t.me/joinchat/HWwFwhMz3kCqrn-M5YVrgA
    wlgq2
        10
    wlgq2  
    OP
       2019-12-16 10:40:01 +08:00
    @hnyoumfk 无所谓,这又不是啥正经开源项目
    hhyvs111
        11
    hhyvs111  
       2019-12-16 10:40:17 +08:00
    想问下学了这个有啥用吗
    wlgq2
        12
    wlgq2  
    OP
       2019-12-16 10:43:00 +08:00
    @hhyvs111 对我个人来说,基本搞清楚了分布式一致性算法的每一个细节。如果说工作上,应该大部分人用不到。
    ZredoC
        13
    ZredoC  
       2019-12-16 10:51:37 +08:00
    厉害厉害
    lcjqq99
        14
    lcjqq99  
       2019-12-16 11:02:17 +08:00
    厉害
    b00tyhunt3r
        15
    b00tyhunt3r  
       2019-12-16 11:02:26 +08:00
    不想用 go 啊
    pangleon
        16
    pangleon  
       2019-12-16 11:25:33 +08:00
    @wlgq2 这就是最尴尬的事,计算机领域好玩的技术太多了,但是投入回报比难以估计。不过学底层怎么也比学那些上层框架更有回报我觉得
    wlgq2
        17
    wlgq2  
    OP
       2019-12-16 11:30:02 +08:00
    @b00tyhunt3r 我也不喜欢 go,我觉得异步回调比协程好用多了
    hhyvs111
        18
    hhyvs111  
       2019-12-16 11:41:48 +08:00 via iPhone
    @wlgq2 用来准备面试吗?
    wlgq2
        19
    wlgq2  
    OP
       2019-12-16 11:43:46 +08:00
    @hhyvs111 我前面试时候还真的被问过分布式数据一致性,可惜当时不会
    newbie269
        20
    newbie269  
       2019-12-16 11:47:38 +08:00 via iPhone
    Newbee
    AzadCypress
        21
    AzadCypress  
       2019-12-16 11:47:56 +08:00 via Android

    我最近也在写这个,刚写到 lab3
    感觉读文献,讲义还有写代码都非常地耗时
    find
        22
    find  
       2019-12-16 11:54:14 +08:00 via iPhone
    我这里有一个做完了,给大家参考一下 https://github.com/happyer/distributed-computing
    yefuchao
        23
    yefuchao  
       2019-12-16 12:00:23 +08:00
    问个环境问题,Linux 环境下源码直接放在 gopath 下就可以了吗,之前在 windows 环境,执行路径好像有问题。
    wlgq2
        24
    wlgq2  
    OP
       2019-12-16 12:02:57 +08:00
    @yefuchao src 目录在 gopath 下就行
    sunkai0609
        25
    sunkai0609  
       2019-12-16 12:42:52 +08:00
    大佬是在哪上的课~
    blessingsi
        26
    blessingsi  
       2019-12-16 12:44:09 +08:00
    刷到一半不小心 rm -rf 了。一直没捡起来
    wlgq2
        27
    wlgq2  
    OP
       2019-12-16 12:48:09 +08:00
    @sunkai0609 看论文
    b00tyhunt3r
        28
    b00tyhunt3r  
       2019-12-16 12:54:53 +08:00 via iPhone
    @wlgq2 斯坦福用的是 c++ 从计算机网络开始一直就觉得斯坦福的教风更“底层”一些
    sunkai0609
        29
    sunkai0609  
       2019-12-16 13:03:29 +08:00
    @wlgq2 木有视频课程吗
    shm7
        30
    shm7  
       2019-12-16 13:15:04 +08:00 via iPhone
    赞一个
    xunix
        31
    xunix  
       2019-12-16 13:39:28 +08:00
    @rouzip 2020 项目你能下下来吗 git clone 报错没有权限
    snowy0723
        32
    snowy0723  
       2019-12-16 15:31:18 +08:00
    specita
        33
    specita  
       2019-12-16 15:43:57 +08:00
    go get timeout 真的痛苦....梯子一直不稳定
    F281M6Dh8DXpD1g2
        34
    F281M6Dh8DXpD1g2  
       2019-12-16 15:49:59 +08:00 via iPhone
    光 mvcc 一项,就不是三个月能做好的
    leemubai1995
        35
    leemubai1995  
       2019-12-16 20:17:02 +08:00
    赞一个
    AzadCypress
        36
    AzadCypress  
       2019-12-18 12:08:30 +08:00 via Android
    楼主我试了一下你的 raft 的 test
    go test -run 2 -race 通不过,有 Data Race
    wlgq2
        37
    wlgq2  
    OP
       2019-12-18 14:09:52 +08:00 via Android
    @AzadCypress 我直接 go test 的,我看下…
    xrlin
        38
    xrlin  
       2019-12-19 18:41:20 +08:00 via Android
    可以,赞一个,我也刷到 raft 了,等到什么时候有兴致和时间再刷。
    BBCCBB
        39
    BBCCBB  
       2020-01-16 20:41:33 +08:00
    @rouzip 准备刷, 老哥.
    rouzip
        40
    rouzip  
       2020-02-01 10:53:15 +08:00
    @xunix 可以呀
    root1iu
        41
    root1iu  
       2020-03-13 21:10:57 +08:00
    请问这门课程需要什么前置知识吗?我是分布式小白,go 也只会基础语法,6.824 适合我这种新手上手吗?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     945 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 22:37 PVG 06:37 LAX 14:37 JFK 17:37
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86