1、搜索推荐Serverless架构和业务中台技术实践沈敏阿里巴巴高级技术专家在此键入姓名在此键入tittle自我介绍阿里巴巴在职6年,专注搜索推荐及大数据研发方向,目前负责阿里个性化平台技术架构,是目前集团业务规模最大的serverless平台,经历了双11大促百万级QPS稳定性考验,不断在挑战双11技术极限和想象力。团队以“让天下没有难开发的业务”为slogon,支持集团业务的快速迭代和创新,追求让用户真正只关心自己的业务逻辑。目录搜索推荐中台介绍 Serverless实践 茶歇的双11搜索推荐整体架构(AIOS)ABFS:基础特征服务 iGraph:图引擎 BE/DII:召回引擎 RTP:R
2、ank Service HA3:搜索引擎 AOP:一站式机器学习平台 TPP:灵活业务平台标准化:从搜索到推荐支持算法及业务的快速迭代,让用户真正专注自己的核心逻辑 集团最大业务规模serverless平台:服务集团62+BU,万级别场景 集团最大的JAVA单体应用之一 阿里在线水位最高的JAVA应用之一 双11百万级QPS,万级别容器TPP:搜索推荐业务平台2015201620172018峰值QPS搜索推荐中台目标AI OS Serverless 图化算子化?目录搜索推荐中台介绍 Serverless实践 茶歇的双11新业务创建成本过高 场景/团队爆发式增长 资源调配太难,水位极低 双11挑
3、战巨大逼出来的Serverless0过万20112013201420152016201720182019场景我的集群我的集群我的集群Serverless的开始:FAAS传统应用Faas新业务成本git/aone/应用分组/vip/服务框架/业务逻辑git/业务逻辑监控ALL自建平台提供细粒度多维度监控流量治理ALL自建平台提供限流/降级/负载均衡/容灾/切流资源手动全时快速弹性迭代无统一实验体系/协作成本高灵活实验/快速发布/敏捷协作专注业务逻辑关注业务逻辑 剥离业务开发不关心的问题 基于JVM Runtime 面向JAVA高度性能优化 面向在线 百万级低延迟在线服务 快速弹性 全时秒级弹性
4、快速迭代 快速实验和反馈产品和体验一键创建函数和资源就绪 秒级全方位监控 日志分析 监控报警AI时代永远缺机器 Docker化 更细粒度的隔离:AJDK多租户 高密度部署 代码隔离 资源隔离 双11大促水位50%热部署:秒级发布:没有镜像push/pull过程,不再冷启动容器化解资源之忧:从Docker到JVM虚拟化高密度部署从同构到异构 同构:流量稀疏,性能低 隔离性差 调度简单 异构:流量聚集,性能较优 隔离性强 二层调度:从容器到场景 流量调度:智能负载均衡混布下的调度规模:万级别场景 监控:5s级监控反馈 Fiber:10s级扩容 长尾:0-1/1-0能力 智能:多目标弹性 CPU/超
5、时率/降级率/限流率从运维解脱:全时秒级弹性业务逻辑复杂度:千行到10万行 实验零等待:AB实验 分层实验 秒级发布 Blink实时效果反馈算法灵活实验GraalVM多语言:前后端一体快速迭代Java Runtime is“SideCar”多语言无缝对接集团Java生态 前后端一体高效研发 团队协作:工程和算法解耦 信息流多个算法团队的解藕 相比istio/envoy:基本无性能开销 Java语言生态受众广 丰富的自动降级策略 异构下的流量调度 兜底机制Service Mesh:团队协作的利器服务调用只占算法/业务的5%代码 复杂推荐场景代码10w+行 相同逻辑的编码千人千面,交接成本巨大 逢
6、大促全员性能优化 离只关心自己的业务逻辑还有很大距离Not Only ServerLess借鉴TensorFlow,PyTorch,Flink设计思路 逻辑层和物理层解耦 同步编程前端语言 零基础编写全异步代码 UDF承接用户业务逻辑 后端全异步执行:高门槛的性能优化下沉平台 AJDK协程 Reactive 业务语义的标准化算子 千人千面的复杂逻辑归一化为高性能平台标准实现 标准化流程模版 真正只扩展自己的业务逻辑全图化:业务逻辑标准化同步编程体验 AJDK协程 Reactive零基础编写全异步化高性能代码借鉴Blink的优化思路:SQL化 平台优化粒度可以细到Long.parse,Strin
7、g.intern等极致的优化数据处理的高性能抽象Faas级协作带来网络/序列化开销 召回,打分衔接数据量太大 在线Latency容忍度低 流程化 定义主流程,部分子图逻辑并行迭代 图合并部署 单机合并部署跨团队大图代码级跨团队协作用户开发 流量治理 容器Runtime 调度 搜索推荐业务Serverless总结目录搜索推荐中台介绍 Serverless实践 茶歇的双11百万级QPS峰值:算法/业务代码性能缺陷及机器缺口 算法效果和资源的权衡 业务不可准确预估:预估偏差巨大 业务错峰 性能优化的挑战:个性化代码 优化的可持续性和可复用性双11大促面临的挑战:资源&性能以上数据均为虚构演示数据4级
8、算法降级实验配置:L0(不降级)L1 L2 L3 降级自动化:latency触发降级 超时率触发降级 性能管控:daily run压测管控茶歇的双11:算法全自动降级茶歇的双11:多租户&流量调度&弹性调度组合拳多租户backup机制:online/backup租户混布 避免冷启动 秒级流量调度机制:峰值超预期,backup租户消峰,为冷启动预留时间 弹性调度:弹性扩缩容执行,backup恢复不接流茶歇的双11:智能多目标弹性cpu单目标弹性的缺陷:限流-cpu增高不明显-扩容慢 降级-cpu降低-缩容-降级无法恢复 固定cpu目标-超时不降 提水位:几家欢乐几家愁 多目标机制:限流率/降级率/超时率/租户cpu使用率 全局目标 分场景动态水位目标优化扫码关注:金融干货精选获取更多干货资料