上海品茶

您的当前位置:上海品茶 > 报告分类 > PDF报告下载

2018年微博高可用架构演进.pdf

编号:96488 PDF 41页 1.37MB 下载积分:VIP专享
下载报告请您先登录!

2018年微博高可用架构演进.pdf

1、 海量数据DAU 2亿发表:亿+热点事件频发#赵丽颖结婚#王思聪微博抽奖#春晚峰值流量红包飞口播微博当前业务特点微博当前业务特点平台当前技术架构平台当前技术架构移动端PC端OpenApiH5内网核心池内网非核心外网池阿里云服务池端4层7层Feed评论关系用户短链/对象库私信服务层MysqlHBaseRedis(存储)分布式文件存储层中间层CacheServiceMCRedisMotan RPCConfig Server实时消息流队列机Trigger计算服务计数器服务超长列表CoreUnCoreOther推模式推模式/拉模式拉模式 推模式上行写入复杂下行聚合简单 拉模式 上行写入简单 下行聚合复

2、杂海量数据海量数据 挑战DAU:2亿发表:亿+可扩展性能高可用长尾列表解决方案解决方案Mysql分库分表冷热分离一主多从、读写分离内容、索引表拆分索引表拆分:一级索引、二级索引UUIDUUID发号器发号器timeidcseq 分布式UUID生成系统64位整型基本有序递增,可以直接用ID排序多机房分布,去中心化索引库索引库二级索引库(1)UID分库MID分表二级索引库(n)一级索引库(1)Table(yymmdd)Table(yymmdd)Table(yymmdd)Table(yymmdd)Table(yymm)一级索引库(n)Table(yymmdd)Table(yymmdd)Table(yy

3、mmdd)Table(yymmdd)Table(yymm)fi:uid,mid,flagsi:uid,start_date,min_mid,countTable(n)Table(n)Table(n)Table(n)Table(m)Table(n)Table(n)Table(n)Table(n)Table(m)通过二级索引快速定位通过二级索引快速定位一级索引表位置一级索引表位置内容库内容库内容库(1)基于MID分库基于时间分表Table(yymmdd)Table(yymmdd)Table(yymmdd)Table(yymmdd)Table(yymmdd)hash(mid)%n=0内容库(n)Ta

4、ble(yymmdd)Table(yymmdd)Table(yymmdd)Table(yymmdd)Table(yymmdd)hash(mid)%n=n下行读取下行读取 挑战DAU:2亿单接口PV:10亿+高性能高可用解决方案解决方案 双层缓存架构提前规划容量和端口Slave作为HA备份 更新逻辑双写CAS master一致性以Master为准读取顺序:Master-Slave-DBWebM1M2M3S1S2S3扩展性扩展性-瓶颈瓶颈 单端口瓶颈CPU瓶颈带宽瓶颈内存瓶颈如何快速扩容扩展性-解决方案 L1-M-S三层架构 L1成组扩容 L1相比Master、Slave内存更小 L1主要分担带宽

5、、CPU 读写逻辑 多写 CAS master,Set slave、L1 一致性以Master为准 读取:L1-Master-Slave-DBWebL1-1L1-2L1-3L2-1L2-2L2-3M1M2M3S1S2S3计数器存储计数器存储计数器存储计数器存储 早期解决方案MC+MysqlRedis计数器存储计数器存储 流量增长挑战多个key存储,效率低前端请求 计数资源请求近百倍放大总数据百G级,Master+Slave T级日增计数亿+,内存5G+201800901001.rep 1001.cmt 200201800901001.like 1000计数器存储计数器存储

6、 解决方案RedisCounterCounterService计数器计数器-CounterServiceCounterService内存(热数据)SSD(冷数据)Table1Table2Table1Table2DumpK/VK/VK/VK/VK/V201800901001.rep 1001.cmt 200201800901001.like 01001 100|200|1000|扩展定制计数器:一个K/V存储多个计数,支持预留扩展分多个表,热数据放内存,冷数据滚动到SSD内存降为1/5,节省几百台机器性能能增加3-5倍容量增加20倍多机房架构多机房架构

7、WebMCQ队列机MysqlMCWebMCQ队列机MysqlMCWMB永丰永丰土城土城多机房架构多机房架构LVSNginxWebMC/RedisMysql/HbaseLVSNginxWebMC/RedisMysql/Hbase永丰永丰土城土城RPCRPC流量切换聚合内容、用户、计数.聚合关注uid发件箱mid聚合关注uid用户拉取一次用户拉取一次FeedFeed用户user2user1userNmid0mid1mid2mid3mid0mid1mid2mid3mid0mid1mid2mid3mid0mid1mid2mid3聚合发件箱u根据uid读取二级索引表,根据count定位有数据的一级索引表

8、u从一级索引表取 N 条mid排序后midmid0mid1mid20contentcontentcontentcontentuseruseruserusercountcountcountcount1234聚合后效果聚合后效果峰值流量应对峰值流量应对峰值流量应对峰值流量应对峰值流量应对峰值流量应对 DCP(Docker Cloud Platform)借助公有云弹性能力10分钟快速扩容应对热点峰值流量和春晚保障15分钟完成1000台节点扩容春晚10000+节点扩容DCPDCP架构架构私有云公有云Pluto成本中心创建主机初始化主机AdapterScheduleRaptor调度JavaPHP大数据编

9、排基础设施负载均衡NginxDNS、SLB镜像中心DockerRedistry容量评估.RaptorWebRPC上线发布回滚降级扩缩容服务池管理扩缩容流程扩缩容流程一键扩容主机初始化主机创建混合云平台配额模块运维环境Docker环境镜像拉取容器调度健康监测服务预热服务注册系统管理层物理层调度层负载均衡层4/7层ConfigServer峰值流量应对峰值流量应对流量快速上涨Localcache效果 LocalCache峰值流量应对峰值流量应对(1)运营push(3)冗余度不足(4)DCP扩容阿里云 自动扩容(2)流量快速上涨峰值流量应对峰值流量应对 智能弹性调度弹性调度系统容量评估系统Schedu

10、le扩缩容物理层调度层服务注册服务池监控系统日志推送业务指标容量策略输入混合云多机房架构混合云多机房架构WebMCQ队列机MysqlMCWebMCQ队列机MysqlMCWMB永丰永丰土城土城WebMCQ队列机MCWMB阿里云阿里云业务架构流程业务架构流程 标准化需求背景业务挑战:写入量、读取量、存储量、业务复杂度存储选型:方案对比、优缺点、超长列表、是否允许丢数据、是否支持线性扩展部署架构:多机房、多端口、一主多从、独立主备/互为主备监控降级体系:MC、Redis、Mysql、业务平台防御体系平台防御体系 分层架构治理基础网络层:IDC、专线、交换机等4/7层:LVS、Nginx等负责均衡设备

11、应用层:直接对外提供服务的各种应用服务层:RPC、中间层服务资源层:Mysql、MC、Redis、Hbase等基础资源基础网络层基础网络层IDC1阿里云IDC3IDC2 多机房环网专线架构4/74/7层层YF-Core-NginxTC-Core-NginxTC-UnCore-NginxTC-UnCore-Nginx故障流量切换应用层应用层YF-Core-NginxTC-Core-NginxYF-Core-App-PoolA-PoolB-PoolApp ServerApp ServerApp ServerApp ServerApp ServerApp ServerApp ServerApp Se

12、rverApp ServerApp ServerApp ServerApp ServerApp ServerApp ServerApp ServerTC-Core-App-PoolA-PoolB-PoolApp ServerApp ServerApp ServerApp ServerApp ServerApp ServerApp ServerApp ServerApp ServerApp ServerApp ServerApp ServerApp ServerApp ServerApp Server故障流量切换节点问题:快速503摘除冗余度不足:快速扩容AppServer应用层应用层CoreS

13、ervice请求请求参数封禁请求线程过载抛弃UnCoreServiceTimeout=50Switch=off/on非核心隔离非核心逻辑可降级详细Profile日志详细分布耗时日志MCMysql支持快速降级IP:Port支持快速摘除IP:Port资源连接自动管理Redis依赖依赖RPCRPC服务服务YF-AppServerYF-RPC-PoolRPC-ServerRPC-ServerRPC-ServerRPC-ServerRPC-ServerRPC-ServerRPC-ServerTC-RPC-PoolRPC-ServerRPC-ServerRPC-ServerRPC-ServerRPC-Se

14、rverRPC-ServerRPC-ServerPool故障流量切换节点问题:快速503摘除冗余度不足:快速扩容工具系统工具系统 网络基础设施监控系统:网络、带宽等情况 资源监控系统:资源内存、带宽、QPS、机器负载等 服务监控系统:业务QPS、平均耗时、慢请求 运维工具系统:降级、切流量、回滚、503 报警系统:监控大厅(24小时)、监控页面、邮件、短信 Dashboard监控系统:整合影响业务的关键监控指标监控系统监控系统Dashboard监控系统Nginx监控专线监控VIP监控Mysql监控SlowTopRedis监控MC监控慢速比冗余度监控报警消息积压分步耗时Hbase监控4XX5XXQPS平均耗时平台防御体系平台防御体系-规范化规范化 上线流程:方案、评审、压测、灰度、监控 日常监控流程:定期巡检核心资源、关注服务核心指标 故障应对流程:周知、响应、降级、回滚、总结、改进 监控职责:开发、运维、DBA、24小时值班人员从不同层面关注 其他:流程规范化、透明化,日志格式、服务指标标准化谢谢大家!谢谢大家!

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(2018年微博高可用架构演进.pdf)为本站 (云闲) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
会员购买
客服

专属顾问

商务合作

机构入驻、侵权投诉、商务合作

服务号

三个皮匠报告官方公众号

回到顶部