3

沃尔玛腾讯云 Serverless 应用实践,全力保障消费者购物体验

 3 years ago
source link: https://serverlesscloud.cn/best-practice/2021-07-29-samsclub
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

沃尔玛腾讯云 Serverless 应用实践,全力保障消费者购物体验

发布于: 2021-7-29
归档于:

标签:Serverless云函数

深耕零售,没有比中国更好的地方,也没有比现在更好的时间。1996 年,国际零售巨头沃尔玛进入中国,在深圳开设了第一家山姆会员商店。25 年后的今天,山姆会员商店拥有 数百万付费会员,成为国内遥遥领先的会员制商店。

aa42dcca695253efe28e797785e57bdb.png

当位于深圳的山姆会员商店连续 10 余年成为沃尔玛全球销售第一的门店,沃尔玛又一次亮出了优秀的业绩。为什么能够在极度竞争的中国零售市场保持强劲增长?2020 年全球零售行业调研报告作出了如下总结:在沃尔玛,各种各样的先进技术被广泛应用以提高工作效率。沃尔玛的管理者认为,先进的科技在零售市场将有助于沃尔玛赢得竞争

01.「顾客至上,服务第一」,腾讯云 Serverless 解决方案

顾客至上是零售行业的服务宗旨。但是消费者对购物体验的要求越来越高,业务迭代速度越来越快。山姆会员商店要保持前瞻性,线上销售渠道必须快速迭代创新,不断为消费者创造新的购物体验。

0067ccf3d797f49b6db267c4b24ed19d.png

难点1 :应用发布频率高

山姆会员商店业务迭代快、应用发布频率高,基本保持在一周一迭代。

难点2:保障用户最佳体验

版本升级的基本要求是:对用户无感知,在升级过程中应用的无损发布。

难点3: 资源消耗大

零售行业线上流量巨大,一个应用可能需要上千台服务器,采用蓝绿部署时,如果在线上发布,需要再备份一千台服务器,对资源消耗造成极大的损失。

e6123c616622c5d428d1d38c730988dc.png

(山姆会员商店蓝绿发布架构图)

典型的开发流程从开发测试到集成测试,到预发测试,再到发布上线,每个研发阶段都有对应的环境做支撑,而每个环境都会消耗资源和成本,来保持服务在线。传统的版本灰度发布模式面临环境多、资源消耗多、成本高等困境。

a4162a95da539a65abaa91e5562e9d1c.png

(环境多、资源消耗大)

腾讯云山姆会员商店项目负责人李逸期在智慧零售深耕多年,从 0 到 1 搭建了山姆会员商店 APP 的技术架构。秉承沃尔玛公司用科技助力市场的战略,李逸期对以赋能业务为目标的技术创新,保持着极致化的追求。多种方案对比后,山姆会员商店选择了腾讯云云函数 SCF ( Serverless Cloud Function ) 默认别名灰度发布策略

云函数 SCF 默认别名灰度发布

默认别名是配置云函数的 $default(默认流量)别名,别名中固定有 2 个云函数版本:一个为 $latest 版本,一个为最后一次函数发布的版本。部署时配置的 traffic 参数为 $latest 版本流量占比,默认另一部分流量切到当前云函数最后一次发布的版本。

每次上线一个新功能,执行 sls deploy 会部署到 $latest 版本上。版本发布时先切部分流量在 $latest 版本上进行观察,稳定后逐步将流量切到 $latest 版本。当流量切到 100% 时,固化当前版本,并将流量全部切到固化后的版本。

d734d172285dc5c40f603d7c323117ac.png

(云函数默认别名灰度发布图)

优势 1 :风险控制保障用户体验

首先,控制变更的风险,一旦发现新版本有异常,随时可以调整流量比例进行回滚;其次,客户端和云函数一起进行灰度,即使需要做一些破坏性变更,例如协议变更时,也不用担心线上版本是否兼容新的协议。

优势 2 :快速验证适应高频迭代

Serverless 模式下,环境隔离、可直接发布,提升高频部署时的研发效率,适合做产品特性的快速验证。

优势 3 :弹性扩缩容节约成本

Serverless 在没有访问量时自动缩容,可以极大节约部署多环境的成本。

当遇到更加复杂的版本发布策略时,云函数自定义别名可以提供更灵活的版本切换方式。自定义别名的配置方式相对于默认别名更复杂,适用于对灰度发布能力要求较高的业务场景。

e07212bb192705fbec7f952bb5438a21.png

(云函数自定义别名灰度发布图)

02. 零售电商场景中 Serverless 应用

1. 电商大促等波峰波谷型业务

每年双 11、618 等电商大促期间,零售行业线上渠道面临历史级别的流量挑战,中大型电商平台的峰值调用量可达上千万/分钟,面临高于日常 10-20 倍的流量压力。日常运营活动中,例如精品秒杀、限时抢购等,电商平台也同样面临大流量高并发、波峰波谷用户流量明显分化的典型场景。

云函数 SCF 提供弹性、可扩展的基础设施和护航服务,帮助电商客户把握业务增长的机遇,从容应对挑战。

9c7e00b2316b28fa9d62f2dcdb05ef4a.png

(电商弹性大促架构图)

  • 瞬时冷启动

云函数 SCF 底层采用自研的轻量级虚拟化技术,Micro Vm 启动时间短至 90 毫秒,函数 冷启动减低至 200 毫秒,并且支持上万台计算节点同时扩容。

  • 实时扩缩容

基于函数请求实时计算的模式,动态的扩缩函数实例,优化函数冷启动的体验问题,以及控制函数计算的资源成本 。

  • 预置并发

在秒杀、抢购等场景中,瞬间需要海量的计算资源。云函数预置并发,可支持并发实例按配置预先启动,提前“预热”函数,为业务高峰提前准备计算资源,消除冷启动、降低运行环境初始化及业务代码初始化引起的耗时。

2. 电商直播等 CPU 密集型业务

直播带货已成为线上零售平台的标配功能。电商直播中,需要专业、稳定的直播推流、转码、分发、播放等服务,满足超低延迟、超高画质、超大并发访问量的要求。在直播结束后,通常需要对回播视频进行处理,例如音视频转码混流、回播视频二次分发和存储等。

相较于自建转码服务器,云函数 SCF 无需考虑转码服务器闲置时间的利用效率、以及服务器运维等问题。

63223e71b3faa845afa7394d081a422b.png

(云函数电商直播方案)

  • 平滑迁移快速上线

支持用户自定义配置 FFmpeg 命令参数、以及部署自建 FFmpeg,转码方式灵活,也可以便捷地从物理机、云主机或容器中移植到云函数。

  • 解决算力瓶颈

大规格实例最高支持 128GB/64C 进行 4K 高清视频转码,结合资源弹性伸缩能力,有效保证转码效率。

  • 按量计费成本优势

视频转码是高运算负荷的 CPU 密集型业务,需要对输入的视频流进行全解码、视频过滤/图像处理、并对输出格式进行全编码。云函数的1毫秒粒度按用量计费,拥有显著的成本优势。

3. 智能图片处理等事件驱动型业务

在电商平台上,每天都会有大量商品图片的查询请求和更新请求。高峰情况下,每天有千万级甚至亿级的图片处理需求。传统方案需要搭建一个在线服务器并部署 Web 应用来进行图片处理,程序按照一定规则定时触发事件。

在传统方案中,主要有三个困扰:

  1. 没有请求时,空置率较高;
  2. 需要专门维护一套运行处理代码;
  3. 需要考虑并发和定时器的执行方法,来保障图片处理的及时性。

而在 Serverless 架构中,云函数 SCF 提供图片裁剪、增加水印等多种处理能力,满足电商业务的图片处理诉求。同时针对图片处理、存储的高可用要求,可以支持对象存储的跨区域高可用部署。

ceeb9c03a30682f2e228b2f45eb70151.png

(云函数图像处理方案)

用户仅需要在云函数 SCF 上设置触发器 + 函数,当用户把图片上传到对象存储中,将会触发函数代码进行图片处理,并把图片转移到新的存储桶中。整个过程,不需要搭建 Web 服务器,无需编写触发条件,也无需关注业务运维。

“中国市场是充满竞争的,但机遇也是巨大的。我们将持续保持技术的驱动力和领先性,以更高的质量和更快的速度完成一次次的产品迭代,保障每一天的消费者体验。”

—— Jason Wang ,沃尔玛中国 技术总监


传送门:

欢迎访问:Serverless 中文网,您可以在 最佳实践 里体验更多关于 Serverless 应用的开发!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK