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 · 8686 次点击
    这是一个创建于 1591 天前的主题,其中的信息可能已经有所发展或是发生改变。

    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 我前面试时候还真的被问过分布式数据一致性,可惜当时不会
    willhunger
        20
    willhunger  
       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 真的痛苦....梯子一直不稳定
    liprais
        34
    liprais  
       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   ·   我们的愿景   ·   实用小工具   ·   1087 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 22:42 · PVG 06:42 · LAX 15:42 · JFK 18:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.