- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
构建可扩展微博架构
Tim Yangg
新浪微博
技术架构师技术架构师
从博客到微博从博客到微博
博客博客
•功能
–发表发表
–浏览浏览
–留言留言
•ContentContent ManagerManager SystemSystem
博客博客
•技术, LAMP
–MySQL master//slave
–MMemcachhedd
–PHPPHP
–CDNCDN
微博微博
•微博,产品
–Real-time
–关注关系关注关系
–信息聚合信息聚合
信息聚合信息聚合
信息聚合信息聚合
•微博两种信息聚合设计模式
–Push((推推))
–PPull(ll(拉拉))
PushPush
•把微博看做邮件
–Inbox: 收到的微博收到的微博
–OOutbtbox: 已发表微博已发表微博
••发表发表:存到所有粉丝存到所有粉丝inbox(inbox(重重))
•查看查看::直接访问直接访问Inbox(Inbox(轻轻))
Push(Figure)Push(Figure)
User A
UpdateAction
Followers of User A
= 1, 2, 3
InboxInbox InboxInbox InboxInbox
(Append to 1’s (Append to 2’s (Append to 3’s
home timeline) home timeline) home timeline)
PushPush
•优点:实现简单,首选
•缺点:分发量
PullPull
•发表:存到自己outbox(轻)
•查看查看:所有有关注对象象Inbox(重)
PullPull
User I
GGet ht home_titimeliline
User I’s
Following List
= AA, BB, CC
Outbox Outbox Outbox
(statuses sent by A) (Statuses sent by B) (Statuses sent by C)
PullPull
•优点:节约存储
•缺点:计算算量大大
•微博是一个消息分发系统
•可采采取推或拉的方式实式实现
架构挑战架构挑战:峰值峰值
- 如除夕、春节
文档评论(0)