网上关于已读服务的资料较少,主要找到以下两个解决方案
1.知乎的已读服务,使用分布式架构,HBase 等工具存下所有的阅读记录进行碰撞
2.使用布隆过滤器,为每个内容或每个用户创建一个布隆过滤器
小体量的项目中,第一种方案过于庞大,需要消耗很多机器,第二种方案由于内容和用户相对稀疏,为百万级的用户每人创建一个布隆过滤器内存消耗相当的大( redis 方案得全部放进内存)
请教有没有适合小体量的解决方案。
1
MoYi123 2021-06-17 16:18:33 +08:00 1
postgresql + roaringbitmap 插件
|
2
RangerWolf 2021-06-18 10:27:16 +08:00
我的知乎也只存储最近阅读的 1000 条记录,也不是完整全部存储。 按照这样来算,我感觉知乎的已读服务的压力应该也不是特别大啊。。。
求楼主分享一下知乎解决方案的文章,感谢! |
3
zero47 OP @RangerWolf 搜索已读服务,都是知乎分享的文章
|