新浪微博redis优化历程陈波.pdf

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
新浪微博redis优化历程 陈波 @fishermen 大纲 • 业务场景 • Redis存储架构演进 • 一些经验 • Q&A 业务场景-业务 • Redis在新浪微博的应用 通知提醒 关系 计数 (graph) (counter) 业务场景-数据 • 一些数据 6 IDC 500+servers 3700+ instances 千亿条记录 24T+ 内存 7千亿cmds/day 1.2万亿read/day 2 千亿write/day Redis存储前时代 Redis前时代 • 热数据mc • 全量落地mysql • 数据量不大:Graph mc 10G ,计数器mc 2G • 开发速度 问题出现 • 2010年,Graph mc 30G+ ,峰值10wTPS • Mysql 成为瓶颈 –线程阻塞,访问卡顿 –List 类型业务不适合mysql • 新的关系计算需求实现困难 –大量关系计算:从MC取全量+本地计算->超时 解决方案 • 初期方案 –增大mc 容量到40G ,Graph db 增至一主六从 –监控并及时清理僵死线程 –关系计算性能问题暂时无解 • 最终方案 –引入Redis做storage (graph/counter) –关系计算在redis 实现O(1) –促进更多复杂需求 –Graph db恢复一主三从 小结 • 项目初期 –30G- 日PV5kw- –技术选型熟悉度 –拼的是开发速度 • 产品需求与新技术相 互促进 Redis存储初期 Redis初期 • Redis 2.0 • Graph存hash ,40G 10w TPS ,4 Server • Counter:20G 2w TPS ,2 Server 问题出现 • 2011年,初期使用经验不足 –数据分片过少,扩容困难 –部分数据类型使用不当,内存超预期 –多业务混放,拆分不便 • 可用性不够 –小业务初期没有slave ,server故障服务异常 –大业务挂载3-4个slave ,高峰期write超时,请求失败 • 重启耗时,10-20分钟服务异常 解决方案 • 容量规划 –提前预估容量,上线前预拆足够的数据分片 –选择合适的数据类型,慎用zs

文档评论(0)

1984kelu + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档