Serverless架构和业务中台技术实践
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
搜索推荐整体架构(AI·OS)
ABFS:基础特征服务 iGraph:图引擎 BE/DII:召回引擎 RTP:Rank Service HA3:搜索引擎
AOP:一站式机器学习平台 TPP:灵活业务平台
标准化:从搜索到推荐
TPP: 搜索推荐业务平台
支持算法及业务的快速迭代,让用户真正专注自己的核心逻辑
集团最大业务规模serverless平台:服务集团62+BU,万级别场景
集团最大的JAVA单体应用之一
峰值QPS
阿里在线水位最高的JAVA应用之一
双11百万级QPS,万级别容器
2015201620172018
搜索推荐中台⽬目标
AI OS
Serverless
图化算子化
新业务创建成本过高 场景/团队爆发式增长 资源调配太难,水位极低 双11挑战巨大
逼出来的Serverless
过万
2011
2013
2014
2015
2016
2017
2018
2019
场景
我的集群
我的集群
我的集群
Serverless 的开始:FAAS
传统应⽤用
Faas
新业务成本git/aone/应⽤用分组/vip/服务框
架/业务逻辑
git/业务逻辑
监控ALL ⾃自建平台提供细粒度多维度监控流量量治理理ALL ⾃自建平台提供限流/降级/负载均衡/
容灾/切流
资源⼿手动
全时快速弹性
迭代
⽆无统⼀一实验体系/协作成本⾼高
灵活实验/快速发布/敏敏捷协作
专注业务逻辑
关注业务逻辑
剥离业务开发不关心的问题
基于JVM Runtime
面向JAVA高度性能优化
面向在线
百万级低延迟在线服务
快速弹性 全时秒级弹性 快速迭代
快速实验和反馈
产品和体验
一键创建函数和资源就绪 秒级全方位监控
日志分析
监控报警
AI时代永远缺机器
Docker化
更细粒度的隔离:AJDK多租户 高密度部署 代码隔离 资源隔离
双11大促水位50%
热部署:
秒级发布:没有镜像push/pull过程,不再冷启动容器
化解资源之忧:从Docker 到JVM
虚拟化⾼高密度部署
从同构到异构
同构:
流量稀疏,性能低
隔离性差
调度简单
异构:
流量聚集,性能较优
隔离性强
二层调度:从容器到场景 流量调度:智能负载均衡
混布下的调度
规模:万级别场景
监控:5s级监控反馈 Fiber:10s级扩容
长尾:0->1/1->0能力
智能:多目标弹性
CPU/超时率/降级率/限流率
从运维解脱:全时秒级弹性
算法灵活实验业务逻辑复杂度:
千行到10万行
实验零等待:
AB实验
分层实验
秒级发布
Blink实时效果反馈
GraalVM多语⾔言:前后端⼀一体快速迭代Java Runtime is “SideCar”
多语言无缝对接集团Java生态
前后端一体高效研发
团队协作: 工程和算法解耦 信息流多个算法团队的解藕
相比istio/envoy: 基本无性能开销 Java语言生态受众广 丰富的自动降级策略 异构下的流量调度 兜底机制
Service Mesh
:团队协作的利利器器
服务调用只占算法/业务的5%代码 复杂推荐场景代码10w+行
相同逻辑的编码千人千面,交接成本巨大
逢大促全员性能优化
离只关心自己的业务逻辑还有很大距离
Not Only ServerLess
借鉴TensorFlow,PyTorch,Flink设计思路
逻辑层和物理层解耦
同步编程前端语言
零基础编写全异步代码
UDF承接用户业务逻辑
后端全异步执行:高门槛的性能优化下沉平台 AJDK协程
Reactive
业务语义的标准化算子
千人千面的复杂逻辑归一化为高性能平台标准实现 标准化流程模版
真正只扩展自己的业务逻辑
全图化:业务逻辑标准化
同步编程体验 AJDK协程 Reactive
零基础编写全异步化⾼高性能代码
数据处理理的⾼高性能抽象
借鉴Blink的优化思路:SQL化
平台优化粒度可以细到Long.parse, String.intern等极致的优化
Faas级协作带来网络/序列化开销 召回,打分衔接数据量太大
在线Latency容忍度低
流程化
定义主流程,部分子图逻辑并行迭代 图合并部署
单机合并部署跨团队大图
代码级跨团队协作
用户开发
流量治理
容器Runtime
调度
搜索推荐业务Serverless
总结
百万级QPS峰值: 算法/业务代码性能缺陷及机器缺口 算法效果和资源的权衡
业务不可准确预估: 预估偏差巨大 业务错峰
性能优化的挑战: 个性化代码 优化的可持续性和可复用性
双11⼤大促⾯面临的挑战:资源&
性能以上数据均为虚构演示数据