开源一个类微博 twitter 的网站

2020-01-23 21:13:30 +08:00
 coyove

网址: 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 时合并延迟和性能会受比较大影响。但在另一方面,时间线合并的负担绝大部分在客户端,所以对于后端来说没有任何压力。

4490 次点击
所在节点    分享创造
4 条回复
yilingersier
2020-01-23 21:26:45 +08:00
然后楼主就可以去面 FLAG 了,问道如何搭建一个 Twitter,把代码丢给他们
nokisubye
2020-01-26 00:13:15 +08:00
这验证码也真是难认啊
coyove
2020-01-27 21:01:57 +08:00
@nokisubye 参数设的比较狠,魔改的 dchest/captcha
wjup
2020-01-30 11:47:39 +08:00
发现子评论就是个套娃

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/640082

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX