UCB EECS MENG 18FALL 选校就业分析

一亩三分地

 找回密码 注册账号

扫描二维码登录本站

最近看过此主题的会员


中国数据智能A股上市公司
坐标杭州 | 个推诚聘
数据/算法/分析/研发等岗位

码农求职神器Triplebyte
不用海投
内推多家公司面试

科技公司如何
用数据分析驱动产品开发
$366 off coupon code: best

深入浅出AB Test
从入门到精通
$366 off coupon code: best

E轮2.5亿美元融资
一起作业诚聘
机器学习/数据/教育等职位
游戏初创公司招聘工程师、UIUX Designer和游戏策划
坐标湾区
DreamCraft创始团队
招聘游戏开发工程师
查看: 596|回复: 1
收起左侧

经典系统设计twitter(浅谈版)

[复制链接] |试试Instant~
我的人缘0

分享帖子到朋友圈
14417335 发表于 2019-3-16 09:18:44 | 显示全部楼层 |阅读模式

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?注册账号

x
用户可以follow其它用户。被follow的用户如果发贴,则要按照时序出现在foller的timeline里。很明显这是一个写频繁(考虑到帖子字数要求140以下),读更频繁的分布式系统。

考虑到很多的小的写操作,一开始我的思路是纯粹按照用户来sharding。但是看过参考资料才知道这是不可取的。因为会有两个因素导致冷热不均:水车型用户(大量的写和存储)以及网红型用户(大量的读操作)

否决掉这个后,自然想到的就是按照unique id来sharding。

unique id的构成由
  • userid前缀
  • 发帖时间戳,

组成。不特别把所有某个用户的帖子全部集中于一个sharding。可能是存储于连续的若干shardings里。

我这个版本,不同于参考资料的,有几个好处:
  • 写操作可以分布到用户区间涵盖该用户的服务器上,插入。
  • 浏览他人的tweets,往往要倒序查阅所有的该用户的帖子。那么因为我这个unique id是以用户id为前缀的。所以可以很快获取所有的该用户的帖子。
  • 帖子和用户的关系也就不必再写入关系型数据库了。查找某个用户的帖子可以query(比如:用户id+周一,用户id周三)。


cache可以用来存储高频阅读的帖子,比如网红贴。

对于timeline的生成,
当用户发帖的时候,unique id就会生成,那么一方面写入存储媒体,一方面把帖子的id写入follow我的用户的timeline中。
我认为应该区分网红(follower超过某个数)和非网红。非网红的可以使用fan-out-on-write。而网红的贴采用fan-out-on-read。在用户读取的时候做aggregation处理。

retweet也是帖子。只不过其中的body是个ref-id的chain。比如A retweet B, but B was retweeting from C, C was retweeting from D. 这样读完这个ref-id的chain后可以deduce出ABCD的用户名,另外只要去取帖子D的内容就可以了。

estimation没有做,明白了以上的设计,加上一些常数和估计数字,estimation应该没有问题。

评分

参与人数 4大米 +29 收起 理由
szzxmf + 3 很有用的信息!
chan9118 + 3 很有用的信息!
duanmupeiyi + 20 很有用的信息!
鹿鹿鹿鹿鹿鹿鹿 + 3 很有用的信息!

查看全部评分

我的人缘0
admin 发表于 2019-3-16 10:42:43 | 显示全部楼层
本文被选为03/15/2019全站置顶文章之一。
作者获得大米奖励,谢谢你的分享

也欢迎大家分享你收集和研究的系统设计题目、一起讨论
回复

使用道具 举报

游客
请先登录
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

提醒:发帖可以选择内容隐藏,部分板块支持匿名发帖。请认真读完以下全部说明:

■隐藏内容方法 - 不要多加空格: [hide=200]你想要隐藏的内容比如面经[/hide]
■意思是:用户积分低于200则看不到被隐藏的内容
■可以自行设置积分值,不建议太高(200以上太多人看不到),也不建议太低(那就没必要隐藏了)
■建议只隐藏关键内容,比如具体的面试题目、涉及隐私的信息,大部分内容没必要隐藏。
■微信/QQ/电子邮件等,为防止将来被骚扰甚至人肉,以论坛私信方式发给对方最安全。
■匿名发帖的板块和方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

手机版|小黑屋|一亩三分地

GMT+8, 2019-3-27 04:48

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表