Serverless架构和业务中台技术实践

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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⼤大促⾯面临的挑战:资源&

性能以上数据均为虚构演示数据

相关文档
最新文档