当前位置:首页 > 报告详情

小红书云原生架构的演进 - 贺晋如.pdf

上传人: 2*** 编号:123617 2023-04-03 16页 1.35MB

报告标签

2022杭州云栖大会PPT

1、小红书云原生架构的演进贺晋如小红书基础架构负责人Contents目录01小红书云原生历程02云原生实践03挑战和未来超过 2 亿的月活用户国内优选的生活分享社区每天百亿次笔记曝光Inspire Lives,分享和发现世界的精彩(数据来自小红书市场部)CPU核数100万+在线服务1.4万+实例数量30万+小红书技术概览业务笔记电商短视频直播商业化中台搜推中台业务中台音视频中台机器学习中台数据中台infra数据库缓存中间件网关容器可观测稳定性成本(数据来自小红书业务场景实践)2020离线训练,机器学习平台开始容器化部署离线训练云原生选择 K8S 作为底层容器编排引擎无状态微服务实现容器化部署容器化

2、启动建设20182022搜广推在线业务容器化改造,容器调度能力增强,开启在离线混部试点在离线混部,搜广推容器化小红书云原生发展历程2021微服务 Serverless 化Serverless 平台完成搭建,开启近线、在线业务 Serverless 改造1.容器化程度较高,但是云原生化程度低2.集群利用率低,明显低于其他互联网公司3.按照功能划分集群,整体没有实现一个完整的多集群管理能力4.K8S 版本碎片化严重,不能升级或不敢升级5.没有专门的容器研发团队,没有解决问题的能力过去面临的问题我们的思考1.如何大幅度提升研发和运维效率2.如何提升资源效能,用更少的资源支撑更多的业务3.如何支持整个

3、容器之上的基础设施和业务架构升级为云原生架构,充分释放云原生的能力统一的资源入口:简化业务资源使用流程,以容器作为业务部署资源的最小单元;收敛物理机管理工作,统一由资源提供方规划物理机资源小红书的容器架构高效的服务管理:基于 K8s 构建高效的服务管理与发布平台,配合开源和自研的各种高级工作负载,一键完成常见运维操作,提升业务服务管理的效率,降低业务在服务管理上的成本资源管理策略:使用在离线混部,超卖等关键技术配合多样的调度算法,提升集群利用率;通过精细化的单机管控策略在单机负载逐步提升的情况下,保证运行质量应用层微服务机器学习平台音视频转码离线任务存储基础层Deployment存储 Work

4、loadML WorkloadDuplicateSet工作负载统一的接入平台全局调度单集群调度调度二次调度混部超卖资源管理策略弹性资源层托管集群1托管集群2自建集群容器架构核心能力CPU精细化调度 kubernetes 原生的 CPU 管理机制无法满足企业内部离线训练以及对 CPU 敏感的在线服务 我们设计了如图所示的 CPU 精细化调度方案。目前在我们生产环境,均已关闭了 kubelet 默认的 CPU 管理策略,统一使用自研的 CPU 精细化调度。APIServerScheduler PluginsSmartAgentKubeletCriShim拓扑感知度创建或者更新NRT监测并启动Pod

5、更新cpuset启动容器List Pod 获取拓扑调度信息资源画像:基于历史 Node 节点监控数据,预测未来一个周期的资源使用量,避免热点问题超卖控制器:通过资源画像上报的数据,来动态调整节点可超卖的比例;Mutating 根据超卖比例来计算节点可分配资源巡检:对服务稳定性以及资源使用情况告警自动化处理,解决一些热点问题容器架构核心技术动态资源超卖&混部Node 1Node 2Node 3kube-apiserver内存工作负载超卖系统计算mutatingRedis资源画像容器架构核心技术混部质量保障面向负载水位的 CPU 约束BE Pod 可用的 CPU 受 LS Pod 负载的影响LS负

6、载 =BE可用的 CPU CPU Group Identity 干扰抑制高优先级进程内核在调度时可抢占低优先级进程的 CPU 时间片Noise Clean,避免超线程的干扰单机质量保障 CPU Burst内核提供补偿机制,避免被限流Memory QoSLS/BE 共存时,优先保障 LS Pod通过阿里开源社区 koordinator 项目,融合 alinux 内核能力,保障混部下高优在线业务的服务响应质量应用场景解决方案混部弹性伸缩成本优化智能 SLO调度引擎Scheduler/DeschedulerRecomma

word格式文档无特别注明外均可编辑修改,预览文件经过压缩,下载原文更清晰!
三个皮匠报告文库所有资源均是客户上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作商用。
小红书的基础架构负责人贺晋如分享了小红书云原生架构的演进过程和实践经验。小红书目前拥有超过2亿的月活用户,每天有百亿次笔记曝光。面对超过100万CPU核数、1.4万个在线服务、30万个实例数量的业务规模,小红书在2020年开始容器化部署,并选择K8S作为底层容器编排引擎。到2022年,小红书完成了搜广推在线业务的容器化改造,并开启了在离线混部试点。 在云原生实践方面,小红书面临了包括容器化程度高但云原生化程度低、集群利用率低、K8S版本碎片化严重、缺乏专门的容器研发团队等问题。针对这些问题,小红书提出了包括:1)统一资源入口,以容器为最小部署单元,简化资源使用流程;2)构建高效的服务管理与发布平台,提升服务管理效率;3)实施资源管理策略,如混部、超卖等,提升集群利用率;4)开发CPU精细化调度方案,满足不同业务需求;5)通过资源画像和超卖控制器,动态调整资源分配;6)保障混部质量,通过内核调度策略和阿里开源社区koordinator项目,确保高优在线业务的服务响应质量。 小红书还自研了包括red-scheduler调度器、fed HPA等方案,以实现服务的QoS资源保障模型、集群调度和节点调度。这些技术的应用使得小红书在多云多K8S集群架构下,实现了大规模资源的精细化运营,大幅增强了服务的多区域容灾与多活、跨云弹性与迁移能力,并推动了存储、微服务治理、搜推广等服务云原生架构的升级。
小红书如何实现云原生架构的演进? 面对挑战,小红书将如何推进云原生实践? 小红书的容器架构核心技术有哪些创新点?
客服
商务合作
小程序
服务号
折叠