手机淘宝短视频业务「哇哦视频」迁移上FaaS笔记公开阿里云云原生

作者|刘子健(繁易)阿里巴巴高级前端工程师

2019年,在阿里巴巴集团内部技术论坛上对于Serverless和FaaS的讨论非常火热。

而这些疑惑对于刚开始接触FaaS的我而言,只会多不会少。恰好,我所负责的“哇哦视频”业务是淘系第一个基于NodeFaaS开发的线上业务,在线上已经稳稳当当的跑了4个月,这期间不仅接手了Java同学的工作,同时也顺利的承接了日常与双十一需求。

哇哦视频是在手淘首页的短视频导购业务,业务核心目标如下:

打造围绕“人用物”为核心有“温度”的短视频;引导更多的商家视频,商家模板化生产;增加首页分发效率,让用户快速的且容易定位到自己想看的视频内容。

而其作为手淘的导购业务,具有“三高”的特点:

由于是身处手淘首页的业务,其流量相对于普通业务而言是比较高的,属于大流量业务。而流量高的特点也带来了稳定性高的要求,由于用户众多,因此线上的任何不稳定都有可能产生舆情。

而作为导购业务,业务本身还有一个迭代频率高的特性。为了能实现更好的导购效果,业务需要不断的推陈出新,快速建场,从而获得更好的导购效果。

在淘系,随着中台化战略的成熟与导购侧近几年的发展,导购业务的开发工作由独立开发各种能力向中台化支持转变。业务所需要的绝大部分能力均可以由中台提供。

在淘系导购业务现今的开发中,一般都由一位前端搭配一位后端一起完成,每个需求的开发,都需要遵循开发+联调+测试的完整流程去进行。

后端同学得益于中台能力的完善支持,许多代码可以复用,因此开发工作量会小一些。而前端则由于UI开发的特性,许多东西需要推倒重来,难以复用(首页改版,整体样式都换了),所以工作量会稍微大一些。

这一套流程实际上已经相当成熟,但成熟并不代表完美。实际上开发过程中,痛点还是有很多的。

首当其冲的痛点则是联调。在联调期中前后端需要不断对数据字段、业务逻辑进行确认,从而确保需求实现的正确性,而这种密集的沟通所带来的成本是非常高的。

如下图所示,在业务开发中我们发现联调成本一般要占到开发成本的30%左右。

居高不下的联调成本,一方面使得工程师们精疲力尽,另一方面也不利于业务的快速迭代。

值得一提还有前端资源化的痛点。

在目前前后端的分工模式中,前端只负责交互逻辑与相对应的UI实现,对于业务核心逻辑无需过多了解。虽然这使得前端团队可以快速完成某些业务,但同样也带来了前端资源化的隐患。而在强调前端要深入业务,具有商业化思考能力的今天,前端资源化实际上是不利于前端的自身发展的。

吐槽归吐槽,但是工作还是要继续的。既然每天的工作有这么多痛点,那么是否有办法去尝试解决它呢?

出于对自身能力升级的渴望,我主动梳理与分析了当前业务的特性,并且主动要求将哇哦视频作为NodeFaaS的首个试点业务。

哇哦视频后端分析:

哇哦视频是一个主打纯视频的导购业务,流量高。基于对后端代码与日常需求的剖析,总结其特点为:运营位多、强依赖算法推荐、数据源多、无状态服务四点。其中运营位多+强依赖算法推荐的特性,使得业务具有一定的复杂度,改造工作量主要在于理解业务规则,填充数据。

而数据源多则代表其引用的外部服务较多,如视频服务、话题、特斯拉资源位定投等。该部分工作量主要在于熟悉上下游系统。

最后无状态服务是改造FaaS的大利好消息,无状态则意味着横向拓展极其便利,完美契合FaaS的工作场景。(其他导购业务应该也类似)

总结:哇哦视频复杂度适中,无状态的业务模型十分契合FaaS的业务场景,且个人在通读完代码后,有把握能Hold住整个后端业务迁移FaaS的需求。因此我认为哇哦视频迁移FaaS平台是具有高可行度的。

非常顺利,也没有任何波折的,哇哦视频成为了淘系首个NodeFaaS试点业务。怀揣着对于能力升级的渴望,我开始尝试将现有的业务逻辑迁移至NodeFaaS实现。

期望达到的效果如下图所示:

在正式进行迁移前,我和业务方沟通了这个事情对于业务可能产生的影响以及后续规划。业务方对于技术侧的改造是没有意见的,只有一个诉求,那就是业务不受影响。

整个诉求看似简单,拆解下来包括以下三部分:

说起来就是既要快,又要稳,还要能扛住后续需求。

针对这个诉求与当时的实际情况,我采取了以下三个措施,来保障整个迁移对业务侧没有影响:

Copy&Paste听起来像是不光彩的事情,但这并不是一件需要遮遮掩掩的事情。相反我现在还很庆幸自己在迁移刚开始时选择了这样的方式,而没有愣头青一样选择另起炉灶,从零开始。毕竟学会跑之前得先学会走路。

选择从零开始固然炫酷,但是这样难以保障代码的稳定性,毕竟原有的业务代码不仅包含必要的业务逻辑,也包含了诸多的错误处理与边界处理,而技术侧改造是必须要考虑到稳定性问题的。

且对于原有Java代码的Copy也算是一种另类的学习方式了,在这个过程中对于Java开发也有了足够的了解,毕竟在整个集团都是Java技术栈的情况下,对于Java的学习与了解非常有利于后续工作的开展。

非常幸运的是,后端同学的代码质量很高,该有的注释一个不缺(如下图所示),因此整个读代码&Copy的过程非常流畅。

这其实算是一个开发中的小Tricks了,但却足够好用。

在之前的导购研发中,为了避免后端宕机对线上带来的影响,因此网关层做了一个CDN容灾方案,如下图所示:

注释:

对于前端同学而言,当请求线上接口失败时,前端的请求SDK就会根据当前请求数据,去CDN上获取最近成功的数据,从而确保对于用户端产品是可用的。

但目前导购侧的业务基本都接入了千人千面的算法,而CDN容灾的一个缺点便在于只是随机取一份成功数据存入CDN,并不支持千人千面。

非常不妙的是,在我迁移FaaS时,底层能力还相对羸弱,时不时会有宕机等问题,这时候即使有CDN容灾能保障产品可用,但用户侧的体验依然是有一定损失的,属于有损降级。

而此时其实产品需求并未发生较大的变更,原有的Java接口也能继续使用,因此灵机一动准备将Java作为兜底的数据源,确保在降级的请求用户体验是完整的。

整体思路其实非常简单,请求路径整理如下:

在完成代码迁移之后,便开始筹备上线的事情。上线的过程中倒是没有什么故事可以说,波澜不惊的按照既定节奏进行灰度、放量,慢慢的也就上线了。

在整个业务真正交接到自己手中的时候,我开始遇到了真正的麻烦。

随着技术侧改造的完成,业务交给我的新需求也得继续推进,于是迷迷蒙蒙的去参加了很多场业务需求会,接触了很多自己之前作为前端根本不会接触的方面。

遇到需求,首先做的不是一口答应承接下来,而是和业务确定具体要做的事情,然后拆分需求。根据业务方的指引与自己的认识,开始不断找各个对应的后端同学去学习和了解完成需求的方式。我记得有好几个下午,我都坐在之前哇哦视频后端同学的身边,不断询问和学习着后端完成问题的思路。

逐渐的,自己的状态从“这个需求我该怎么做”开始向“这个需求我觉得应该这么做”转变,整个人面对后端的工作状态从手忙脚乱像游刃有余转变。(其实这也算能力升级吧~毕竟可以Hold住更多的事情了)

在整个迁移的过程中,个人最深刻的感受便是“撕裂”。因为Serverless&FaaS并不仅仅只是一种编程方式,它更多的是给了你去Owner业务的机会。

而为了把握住这个机会,你需要或主动或被动的去Push自己学非常多的东西,也需要思考比之前多的场景,比如:

不断的学习新东西,不断的思考更多,不断的对原有自己造成更大的冲击。如果要给我迁移FaaS期间的感受下一个总结,那么一定是:“在撕裂中成长”。

回到我们最初的疑惑,我想我可以对第一个问题进行解答了:

Q:FaaS在业务中能落地吗?A:能,虽然过程很辛苦,但现在你们落地应该会好很多,因为坑都被我们填的七七八八了

而关于第二个问题:“FaaS能帮助前端同学实现能力升级吗?”,我想看完全文的你,心中已经有了答案。

Q:FaaS能帮助前端同学实现能力升级吗?A:能,且能力升级并不止于技术,更多的是业务思维的成长。FaaS使得前端有机会可以更深入业务,从而更好的去支持业务。技术能力与业务思维共成长,非凡不止一面。

淘系技术部-Node.js架构组招聘啦,招聘级别:P6/P7,工作年限2年以上。对Node.js感兴趣的小伙伴一定要抓住机会,我们需要优秀的你与我们一起,探索Node.js未来更多的可能性~

THE END
1.2025年移动视频服务市场发展前景及主要厂商分析调研报告第五、六章:中国移动视频服务各细分类型与移动视频服务在各细分应用领域的市场销售量、销售额及增长率; 第七章:对移动视频服务产业内重点企业发展概况、核心业务、市场布局、经营状况、市场份额变化、产品与服务、融资及合作动态等方面进行分析; 第八、九章:中国移动视频服务各细分类型与移动视频服务在各细分应用领域的https://www.gelonghui.com/p/1487748
2.手机流量卡推广:抓住短视频时代的财富机遇!随着短视频时代的全面到来,我们的生活已经离不开短视频、直播以及各类线上娱乐。而这些内容的消耗,无一不依赖于手机流量的支持。 因此,手机流量卡推广项目应运而生,成为了一个市场广阔、门槛低、利润高、变现快的长期盈利项目。 免费办理,低套餐大流量的设计,让您在享受数字生活的同时,也能轻松省下不少开支!赚钱https://www.jianshu.com/p/17894d0fda40
3.视频电话收费模式解析:流量时间与套餐的选择指南在谈费用之前,先说说视频电话的基本原理。视频电话,简单来说,就是通过网络把音频和视频信号进行传输,让我们在通话时不仅能听到对方的声音,还能看到对方的画面。这种技术的实现,离不开互联网的普及和智能手机的快速发展。 现在市面上有很多种视频电话服务,收费方式也各有不同。首先,我们可以把视频电话的收费模式大致分https://news.huochengrm.cn/cyzd/7012.html
4.VoLTE题库(含解析)中高级必看volte面试题VoLTE是GSMA定义的标准LTE语音解决方案,其核心业务控制网络是IMS(IP多媒体子系统)网络,配合LTE和EPC网络实现端到端的基于分组域的语音、视频通信业务。通过IMS系统的控制,VoLTE解决方案可以提供和电路域性能相当的语音业务及其补充业务,包括号码显示、呼叫转移、呼叫等待、会议电话等。 https://blog.csdn.net/TXNMG/article/details/128013904
5.中国联通app官方下载中国联通网上营业大厅v11.9安卓最新版三方通话最多可实现包括发话这在内的几方通话? 答:手机的三方通话功能最多可以实现包括发话者在内总计三方通话。 什么样的手机可以使用三方通话业务? 答:您的手机必须为具有三方通话功能的手机。(请以各款手机说明书介绍为准)办理了三方通话业务后,需要在手机上启动呼叫等待与保持功能。 中国联通怎么查流量 1、打https://m.qqtn.com/q/154160
6.常见问题佣金宝客户如需至我公司营业部现场办理业务:登记类业务需在交易时间内办理,其余业务可以在交易日早上9点至下午17点至营业部办理(深圳、岳池、蒲江营业部业务办理时间为工作日上午9:30-11:30,下午13:00-17:00)。 17、佣金宝后续业务包括哪些?如何办理? 点击查看佣金宝后续业务及办理方式列表 18、佣金宝后续https://www.yongjinbao.com.cn/help/qyqq.html
7.雷军:小米14Ultra重磅发布专业影像旗舰,让真实有层次第二,2023年12月28日小米汽车召开第一次技术发布会,介绍了小米汽车五大核心技术,包括超级大压铸与小米超级电机。更重要的是小米SU7的首次亮相,代表着「人车家全生态」迎来闭环。也跟大家透露个消息,小米SU7正式上市也即将临近。 手机业务上,小米手机销量连续 14 个季度全球排名第三,在全球范围内与苹果和三星形成了https://www.jufair.com/information/105253.html
8.“中国领事”APP办理护照旅行证常见问题解答11.系统提示我需要预约视频见面,是什么原因?怎样预约视频见面? 答:根据业务要求,申请人为未成年人或身份验证(人脸识别)未通过等情形,总领馆可能会要求与申请人通过APP进行视频面谈。收到消息通知后,请您按要求预约在线面谈时间,按时上线取号(提前或超时均无法取号),等待领事官员呼叫,进行在线面谈。 http://chicago.china-consulate.gov.cn/chn/fwzc/202108/t20210806_8991761.htm
9.全省农信系统电子渠道业务视频培训测试题23.商户手续费减免支持配置的优惠商户包括()。 A.营销商户组B.新入网商户C.指定商户号D.连锁商户 24.法人行可以在以下哪些平台进行商户审核()。 A.移动银行B.福祥e支付业务管理平台C.福祥钉小程序D.微信公众号 25.在省联社与银联合作开展的统一收单系统银联条码交易商户手续费补贴活动中,农商银行应主要完成的工https://www.wjx.cn/xz/277825914.aspx
10.设六大业务集团;威马被冻结40亿股权;华为回应与广汽埃安合作生变科技大公司方面,阿里巴巴设立六大业务集团,张勇兼任阿里云智能集团CEO;支付宝开启近7年最大一次高管轮岗;货拉拉递申请于港交所上市;微信视频号将推付费订阅功能;英特尔全面退出PC基频芯片;苹果在美国推出Apple Pay Later,允许分期付款、无利息与额外费用。 汽车行业,威马汽车被冻结40亿元股权;华为回应与广汽埃安合作生变:https://www.tmtpost.com/baidu/6471651.html
11.139邮箱安卓客户端隐私政策1、我们收集和使用哪些您的个人信息 (一)业务功能划分 139邮箱客户端业务功能划分为基础功能、扩展功能: 139邮箱客户端的基础功能是注册登录、邮件收发管理、用户反馈、消息通知、云盘文件下载查阅、云笔记等APP运行场景必备的功能。 除此之外,139邮箱客户端也为您提供了扩展功能,如有需要可选择使用,包括云盘文件管理、https://html5.mail.10086.cn/pe/PE_app/privacyPolicy_Android.html
12.APP上架应用商城需要办理哪些资质视频影视类 —《信息网络传播视听节目许可证》或者视频来源授权证明 售彩类—— 福利彩票中心出具的网络销售授权证明或将购彩功能去除后再重新提交审核 借款类: 1. 经营范围涵盖xiaoedaikuan业务的《营业执照》 2.《金融办批复》或 与第三方支付平台或银行签署的《资金托管协议》 http://bjdaxing044125.11467.com/product/28290363.asp
13.探讨免费CRM软件的优势及其带来的业务价值在现代社会,短视频已成为一种重要的信息传递方式。许多用户希望能在手机上找到合适的短视频软件。这些成品短视频软件能够提供多种功能,如视频剪辑、特效添加和配乐等,极大地方便了用户的创作和分享。用户可以通过各大应用商店轻松下载,充分体验短视频带来的乐趣,同时提升自己的创作能力。 成品短视频app源码的下载方法 对http://www.btxzjt.com/zixun/16124.shtml
14.天翼视讯天翼视讯是专业的综合视频网站,汇聚了CCTV等160多路电视直播频道及节目预告,提供正版高清电影、电视剧、综艺、纪录片、动漫、微电影。天翼视讯app,扫一扫电信天翼用户免费看。看电视看电影尽在天翼视讯。http://www.tv189.com/
15.推荐2018年创业者必备的105种工具19. 优秀的视频会议软件 Zoom Zoom 能够让视频会议变得非常简单。你可以安排很多人参与会议,分享屏幕并录制会议内容。如果你需要带领其他人过一遍复杂的流程,你甚至可以控制他的屏幕。如果你是一个分销公司或是在全球拥有很多客户,那我强烈建议你抛弃手机,选择用 Zoom 进行视频会议。 https://www.51cto.com/article/567660.html
16.倾伴心理隐私政策赛优教育官网(2)基于设备相机权限的附加业务功能:当您使用头像编辑、我要反馈功能、发送图文消息时,我们将需要获取您的设备相机权限,并收集您提供的图文和视频信息。 (3)基于设备相册权限的附加业务功能:当您使用头像编辑、我要反馈功能、发送图文消息时,我们将需要获取您的设备相机权限,并收集您提供的图文和视频信息。 http://www.cuour.org/page/793
17.帮助中心32学苑公务员考试,事业单位考试,在线学习教育网您可以在本服务选择题库功能,题库功能需要您提供的个人信息具体为:(a)个人基本资料:手机号;(b)个人上网记录:即您在使用题库时作答项、作答时间。 业务功能三:模考功能 您可以在本服务选择模考功能,模考功能需要您提供的个人信息具体为:(a)个人基本资料:手机号;(b)个人上网记录:您在使用模考功能时的做题记https://www.32xueyuan.com/help?id=198
18.联想语音实时字幕翻译实时字幕翻译软件有哪些(41篇)它支持实时语音翻译和视频字幕翻译,并且能够在多个设备上同步使用。这意味着您可以在电脑、手机甚至是智能手表上随时随地进行翻译。微软翻译还支持多人对话模式,可以在不同语言的参与者之间实现无缝交流。这对于需要进行多语言会议或者国际交流的人士来说无疑是一个非常实用的工具。 第三款值得推荐的是iTranslate。ihttps://shishifanyi.com/tag/?url=1129
19.用户报告模板价格因素,包括商品虚标价格、价格没有真正实惠或返利是用户使用折扣返利应用过程中最担心的问题。 1、女性用户对折扣返利app的了解程度略高于男性;用户手机内安装一款折扣返利应用的最多 《微参与》移动用户调查数据显示,对于折扣返利类app的了解程度,11.9%的用户表示很了解,35.3%的用户比较了解,39.4%的用户是一般了解,https://www.wenshubang.com/baogao/3355312.html
20.抖音生活服务包括哪些?有什么优势?抖音运营自媒体这篇文章主要介绍了抖音生活服务包括哪些?有什么优势?的相关资料,需要的朋友可以参考下 GPT4.0+Midjourney绘画+国内大模型 会员永久免费使用! 【如果你想靠AI翻身,你先需要一个靠谱的工具!】 对抖音卖家来说,肯定也希望能够做好抖音的生活服务。 抖音短视频(原创短视频分享平台) v31.7.0 安卓手机版 https://www.jb51.net/zimeiti/862930.html
21.WordPress教程WordPress建站手册2024/12月更新定制首页的好处包括能够: 根据您的公司和业务情况展示内容。 更好地展示您网站的差异化。 更好的体现您的SEO策略,关键词策略 添加多个高度可见的强烈询盘按钮 (CTA)。 进一步阅读: 如何在 WordPress 中创建自定义首页模板 WordPress 网站首页要展现哪些内容 定制询盘表单 对于WordPress商业网站来说,表单询盘功能是一个https://www.seo628.com/allinonewordpress