版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
构建可扩展微博架构TimYang新浪微博技术架构师从博客到微博博客功能发表浏览留言ContentManagerSystem博客技术,LAMPMySQLmaster/slaveMemcachedPHPCDN微博微博,产品Real-time关注关系信息聚合信息聚合信息聚合微博两种信息聚合设计模式Push(推)Pull(拉)Push把微博看做邮件Inbox:收到的微博Outbox:已发表微博发表:存到所有粉丝inbox(重)查看:直接访问Inbox(轻)Push(Figure)UserAUpdateActionInbox(Appendto1’shometimeline)Inbox(Appendto2’shometimeline)Inbox(Appendto3’shometimeline)FollowersofUserA=1,2,3Push优点:实现简单,首选缺点:分发量Pull发表:存到自己outbox(轻)查看:所有关注对象Inbox(重)PullUserIGethome_timelineOutbox(statusessentbyA)Outbox(StatusessentbyB)Outbox(StatusessentbyC)UserI’sFollowingList=A,B,CPull优点:节约存储缺点:计算量大微博是一个消息分发系统可采取推或拉的方式实现架构挑战:峰值-如除夕、春节请求量如果发表量5,000万/天平均:578条/秒设计系统容量:2,000?IO瓶颈峰值:5,000–10,000?100,000?后果LatencyDBreadtimeout前端timeout(503error)解决方案?异步设计不同步等待将消息存入消息队列(MessageQueue)轻量级的发表MQproductsKestrelbytwitterRabbitMQ,anErlangQueueServerMemcacheq在新浪微博工程大规模使用Memcacheq基于Berkeleydb,稳定可靠Memcachedprotocol,丰富的clientlibrary容易监控(statsqueue)只有2个命令:get/set防止单点故障核心效劳,需防止单独故障方法使用多个Memcacheq池Get操作:轮询所有效劳器Set操作:随机选择一个无需其他复杂“架构”设计MQ方式通用的优点Offlinework应用请求量不均衡解耦异步通讯原那么使用MQ原那么计算开销大于消息分发开销架构挑战:实时性越重要的事件,越希望实时性Thevalueofthetweetdecreasesexponentiallywithtime
JohnKalucki,Twitter://t.sina/pub/star#a_ty解决思路Cache中心化RamisthenewthediskLocalCacheMemcachedDatabasebuffer/cacheLAMP中,cache=可选层Cache中心化后新的问题容量问题TB级思路:压缩QuickLZLZO不用gzip单点问题单点故障,SIGSEGV如何应对1.Consistenthash2.Read-throughcacheConsistenthash原理优点震荡最小Read-throughcacheRead-throughandWrite-throughProductsorprojectsMySQLmemcachedUDFCachemoneyforRubyonRailsOrwrapaproxyforthedbdriver,inanylanguageEvictions问题Evections:cache数据被踢性能的噩梦Latency产生的源头之一如何防止evictions规划cache容量将永久数据与临时数据分开不使用随机字符作为keyMultiget问题WhenmemcachedserversareCPUbound,addingmorememcachedserversdoesn'thelpservemorerequests.-JeffRothschild,VicePresidentofTechnologyatFacebookCache挑战:multigethole解决方法Memcachedreplication架构挑战:海量存储架构挑战:国内网络带宽问题地理分布考虑到以下原因,需要分布式部署访问速度IDC不可用故障分布的核心是数据分布数据地理分布原理Master-slaveMaster-master2PC/3PCPaxos:///data/multi-idc-design//地理分布的方案MySQLmaster/slaveDynamo/CassandraPNUTS架构挑战:API访问量以新浪微博开放平台为例RESTAPI编程简单,library丰富可用curl,javascript实现一个client缺点单向询问方式如何解决轮询压力解决方案:SinaAppEngineSinaAppEngine应用云平台提供微博A
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度跨界合作与联合营销合同2篇
- 2024年度企业间货物买卖合同(含质保期)3篇
- 2024年度租赁合同协议范本3篇
- 二零二四年度工程装潢与居间合同2篇
- 2024年二手房交易双方互不支付佣金合同2篇
- 2024年度工厂租赁合同协议2篇
- 高级项目管理顾问2024年度服务协议3篇
- 化工热力学:第6章 热力学第一定律及其工程应用
- 2024年度临时安保劳务合同2篇
- 谈话课件教学课件
- 乒乓球女单世界第一首位零零后孙颖莎介绍课件
- 创新实践(理论)学习通超星期末考试答案章节答案2024年
- 2024实施就业优先战略促进高质量充分就业的意见(就业是最基本的民生)
- 英语我的家乡甘肃酒泉课件
- 部编版2024-2025学年六年级上册语文第19课《只有一个地球》同步练习(附答案解析)
- 青岛版科学三年级上册全册课件教材
- 语文园地四 教学设计2024~2025学年一年级语文上册统编版
- 2024汽车行业社媒营销趋势-微播易CAA中国广告协会-2024.08-98正式版
- 出境劳务派遣合同模板
- 湖北省2024年中考英语模拟试卷(含答案)
- Project项目管理(从菜鸟到实战高手)
评论
0/150
提交评论