代码: 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 时合并延迟和性能会受比较大影响。但在另一方面,时间线合并的负担绝大部分在客户端,所以对于后端来说没有任何压力。
1
yilingersier 2020-01-23 21:26:45 +08:00
然后楼主就可以去面 FLAG 了,问道如何搭建一个 Twitter,把代码丢给他们
|
2
nokisubye 2020-01-26 00:13:15 +08:00
这验证码也真是难认啊
|
4
wjup 2020-01-30 11:47:39 +08:00 via Android
发现子评论就是个套娃
|