[分享创造] 开源一个类微博 twitter 的网站
- - V2EX网址: https://sserr.net. 代码: https://github.com/coyove/iis. 之前的发布: https://v2ex.com/t/628871. 时隔一个多月,当初的 todo 基本上都清掉了,代码也重构到了开源出去也不会太丢人的程度 XD. 总的来说这是一个类微博的系统,提供了大部分你所熟知的微博功能.
代码: 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 时合并延迟和性能会受比较大影响。但在另一方面,时间线合并的负担绝大部分在客户端,所以对于后端来说没有任何压力。