AI智能总结
微博亿级用户高可用架构体系建设 演讲人:李庆丰 内容大纲 》微博的业务场景和挑战 产如何构建高可用架构体系 √容量问题√性能问题√依赖问题√容灾问题 →新的探索与展望 微博的业务场景和挑战 微博,随时随地发现新鲜事 微博的业务场景和挑战 生产微博,评论,赞内容亿级/天,新增关注订阅关系千万级/天 用户规模大,需要具备海量数据存储能力 用户日常的高频应用,需要具备容灾能力 微博的业务场景和挑战 用户请求量大性能要求高,热点峰值流量不可预测高可用挑战大 微博的业务场景和挑战 微博场景下,高可用架构体系面临的挑战: →数据存储不下了?请求扛不住了? 容量问题 →服务相应太慢了?资源成本太高了? 性能问题 +个别非核心资源拖死整个服务? 依赖问题 →机房,专线故障导致服务不可用? 容灾问题 构建高可用架构体系 √容量问题 ·存储容量一一监控,海量数据存储架构Ops·请求容量--监控、高并发架构、快速扩缩容能力商业用途 √性能问题 ·监控、分布式缓存架构 依赖问题·监控、微服务架构、容器化、SLA体系、服务治理 构建高可用架构体系 构建高可用架构体系 构建高可用架构体系 海量数据存储架构 ·容量预估一-评估业务场景,数据规模和读写比例·存储选型--关系型数据库vsNosgI数据库(成本&效率)·性能基准-建立读写安全指标,监控及报警阈值·扩展预案存储容量扩容预案,请求容量扩容预案 Mysql不同存储介质的读写性能对比 构建高可用架构体系 容量问题应对方案: 应对数据累积引起的容量问题 构建高可用架构体系 构建高可用架构体系 分布式缓存架构 ·容量预估--评估业务场景,缓存时长及缓存数据规模·缓存选型--本地缓存vs分布式缓存·性能基准-建立读写安全指标、监控及报警阈值·扩展预案缓存容量扩容预案,请求容量扩容预案 构建高可用架构体系 性能问题应对方案: 构建高可用架构体系 构建高可用架构体系 微服务架构的优势: ·促进服务的松耦合,高内聚*RPC的调用方式提升调用效率 构建高可用架构体系 从Motan到ServiceMesh 微博开源的跨语言服务化框架Motan: https://github.com/weibocom/motan 构建高可用架构体系 构建高可用架构体系 微服务架构带来的问题: 微服务解决了服务依赖耦合的问题,但也让运维复杂度急剧增加。 构建高可用架构体系 Docker容器化的优势: ·隔离环境差异·统一部署方式·:没有额外消耗 构建高可用架构体系 微博混合云架构: 容器化+混合云技术助力微博实现实时可伸缩的弹性系统,低成本应对突发热点峰值, 构建高可用架构体系 构建高可用架构体系 分布式系统的CAP理论: Consistency(—致性): 更新操作一旦成功,所有节点数据在同一时间保持一致: Availability(可用性): 读和写操作一直可以成功; Partitiontolerance(分区容忍性): 比如网络故障导致分布式节点不能通信,系统是佛可用; 构建高可用架构体系 新浪微博多机房技术架构: 1、把C从强一致性降低到最终一致性2、用MC和WMB解决同步数据效率问题3,用Mysql主从同步保障数据最终一致性 构建高可用架构体系 新浪微博多可用区部署架构: 可用区内形成资源和服务依赖闭环:核心服务采取多可用区部署;依托混合云架构,每个可用区可独立扩容;建立流量调度机制及容灾切换预案,定期演练; 构建高可用架构体系 构建高可用架构体系 Service-Level-Agreement: 量化指标,明确职责 666 确保上下游团队建立良好的默契 构建高可用架构体系 新的探索与展望 Gdevops 全球敏捷运维峰会 THANK YOU !