您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。 [2023第十二届全球TOP100软件案例研究峰会]:微博-黄阳全-新浪微博云原生 PaaS 平台降本增效与稳定性建设实践 - 发现报告

微博-黄阳全-新浪微博云原生 PaaS 平台降本增效与稳定性建设实践

报告封面

nn10010010010000100100 讲师简介 >2017年加入微博,负责微博视频基础组件的开发与维护;设计并搭建了微博视频中台,提供了统一的视频上传、转码、播放、视频流等能力;>负责微博视频处理平台的建设,以FaaS的思路改造了视频转码等离线任务的架构>目前专注于微博云原生PaaS平台的建设。 黄阳全微博平台架构师 目录 ·背景与目标·微博平台基础设施现状与思考·微博云原生PaaS平台建设·总结与未来展望 背景与目标 降本增效的大背景 互联网用户规模增速放缓,各大互联网企业纷纷开始降本增效 服务稳定性挑战 热点事件期间,1分钟左右可达一级热度,在第4分钟左右即可达三级热度 降本增效和稳定性的关系 降本增效 稳定性 常备余度再低一点弹性扩容机器数量再少扩容机器时长再短一点机器利用率再高一点研发运维效率更高一些 微博平台基础设施现状与思考 微博平台基础设施发展历程 微博平台基础设施现状与思考 成本 资源整合,统一管理 1.在线服务利用率普遍不高,未充分利用资源2.资源碎片化,很难得到充分利用3.局部成本优化,很难达到全局最优 效率 统一标准 1.分散的运维体系,不同业务运维方式不统一,造成运维壁垒2.服务运行时不统一,难以统一维护和升级3.新特性或框架横向推广难度大 稳定性 平台能力建设 全链路扩容时间已优化到4分钟,继续优化遇到瓶颈2.多机房存在相互依赖,容灾能力不可靠 定位 微博云原生 PaaS 平台建设实践 整体架构 msup 微博云原生PaaS平台建设实践 》成本 资源使用标准化统一性能标准 德鲁克曾经说过:你无法度量它,就无法管理它! >目标:保障SLA的情况下,单机承载的最大gps或mgps >统一性能衡量标准:真实流量自动压测,多指标多维度监控 资源使用标准化统一几余度标准 >目标:服务余度足够支撑微博热点,同时成本最优 >统一几余度标准:自动分析该服务历史流量曲线,结合扩容速度计算余度 资源使用标准化统一规格标准 目标:达到资源和性能的最优点>资源和性能的平衡:多种服务规格分别压测,提高资源性价比 动态扩缩容,提高部署密度 自定义指标的扩缩容:根据qps或mgps指标进行扩缩容定时扩容:支持cron-based弹性配置,应对提前流量洪峰指标预测的弹性:通过算法预测未来的流量,提前扩容热点扩容:通过模型检测热点,结合运营push提前扩容 在离线混布,充分利用剩余资源 在线优先极高,延时敏感,稳定性要求高但是利用率不高,类比石块。离线优先级低,延时不敏感,任务可重做利用率高,容错性好,类比沙子。 在线不忙时,离线使用其未利用的cpu在线忙时,随时抢占离线资源 在离线混布,资源隔离 》占用式资源:主要采取隔离方式,限制资源占用量。调度式资源:主要采取抢占式调度,提升在线任务调度优先级。 资源隔离 1.内核cpu调度高优压制低优2.基于cpuset绑定cpu调度域3.分numa隔离调度 1.限制离线使用大小限制离线磁盘1O2. 在离线混布,离线算力感知 1.利用ebpf采样获取到normal使用的cpu核数2.计算出离线可用的cpu,通过文件挂载给离线容器3.离线服务根据可用算力调度,提升离线任务可用性 msup 微博云原生PaaS平台建设实践 》稳定性 》效率 服务质量分级 支撑第一波热点 统一热点应对体系 mstp 多可用区建设 三可用区+双云部署 三可用区+双云部·提供统一集群管理,单集群视角管理多集群·通过virtual-kubelet扩展下层集群,阿里云、华为云作为部分常备和热点扩容节点 mstp 多可用区建设 这样就够了吗 依然存在的问题 *存在跨可用区服务调用(http/rpc)·某个依赖服务非多可用区部署,资源非多可用区高可用 解决 依赖梳理业务改造容灾演练 多可用区建设,依赖梳理 >基于skywalking的全链路追踪trace提供服务拓扑依赖可视化服务依赖关系 mstp 多可用区建设,业务改造 楚门的世界 问题 1,互相依赖的测试环境如何搭建?2.如何快速验证业务改造? ·基于istio实现·支持rpc/http的流量劫持·支持模拟多可用区环境·快速搭建多服务依赖、资源依赖的环境 多可用区建设,容灾演练 容灾演练故障模拟和演练系统 mstp 多可用区建设,容灾演练 故障演练 一键断网和恢复控制爆炸半径 msup 微博云原生PaaS平台建设实践 》成本》稳定性效率 统一标准,提高效率 服务描述标准化 Application对象描述 apiVersion: k8s.crd.weibo.com/v1kind: Applicationmetadata:name: noone-webnamespace: wb-plat-videospec:image: SimagemaxReplicas: 100minReplicas: 20runtime:java运行时 统一标准,提高效率 runtime标准化 统一标准,提高效率 通用能力接入标准化 ·通过annotation方式快速注入平台能力·适用于application与原生deployment 统一标准提高效率 应用交付标准化 gitops+argocd可持续部署流程自动化,运维零操作 总结与未来展望 案例启示 >在平台搭建的过程中,快速验证关键技术点,落地MVP版本》充分利用开源社区,并回馈社区在以往架构的基础上进行改造和升级,减少迁移的复杂度>稳定性是一件长期的事,需要持续投入 未来展望 智能化的服务画像②智能化的服务编排③智能化热点检测与应对 架构单元化②快速重建微博 ①)故障混沌化②攻防演练 100TOP1100100100dnsw L 微信官方公众号:壹佰案例欢迎交流关注查看更多年度实践案例10010010010010 10010010n10010010000100