V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
coyove
V2EX  ›  分享创造

开源一个类微博 twitter 的网站

  •  1
     
  •   coyove ·
    coyove · 2020-01-23 21:13:30 +08:00 · 4624 次点击
    这是一个创建于 1800 天前的主题,其中的信息可能已经有所发展或是发生改变。

    网址: https://sserr.net

    代码: https://github.com/coyove/iis

    之前的发布: https://v2ex.com/t/628871

    时隔一个多月,当初的 todo 基本上都清掉了,代码也重构到了开源出去也不会太丢人的程度 XD。

    总的来说这是一个类微博的系统,提供了大部分你所熟知的微博功能。时间线合并( timeline merging )采用读扩散,所以可以轻松的支持热点用户推文分发至海量 follower 的情况。回复 /@/收藏等则是写扩散。

    后端采用纯 KV 形式存储,目前有两种实现( dynamodb 和基于本地文件系统)。KV 不要求事务支持,所以理论上任何支持 set(k, v)和 get(k)的 IO 都可以用作存储驱动。( dynamodb 会有 stale read,要解决这个问题需要本地缓存,如 redis )

    由于该架构设计特点,(以 dynamodb 为例)当一个账户 follow 的其他账户数目超过 10000 时合并延迟和性能会受比较大影响。但在另一方面,时间线合并的负担绝大部分在客户端,所以对于后端来说没有任何压力。

    4 条回复    2020-01-30 11:47:39 +08:00
    yilingersier
        1
    yilingersier  
       2020-01-23 21:26:45 +08:00
    然后楼主就可以去面 FLAG 了,问道如何搭建一个 Twitter,把代码丢给他们
    nokisubye
        2
    nokisubye  
       2020-01-26 00:13:15 +08:00
    这验证码也真是难认啊
    coyove
        3
    coyove  
    OP
       2020-01-27 21:01:57 +08:00
    @nokisubye 参数设的比较狠,魔改的 dchest/captcha
    wjup
        4
    wjup  
       2020-01-30 11:47:39 +08:00 via Android
    发现子评论就是个套娃
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2574 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 18ms · UTC 01:37 · PVG 09:37 · LAX 17:37 · JFK 20:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.