作者 | 朱鹏

导读:2020 年 双11,世纪联华基于阿里云函数计算 (FC) 弹性扩容,应用于大促会场 SSR、线上商品秒杀、优惠券定点发放、行业导购、数据中台计算等多个场景,业务峰值 QPS 较去年提升 230%,研发效率交付提效超过 30%,弹性资源成本减少 40% 以上。当 双11 走过 11 个年头,传统企业正在凭借云原生技术悄然逆势崛起,参与到这场全球购物狂欢节中。

联华华商旗下的世纪联华超市近期迎来了一年一度的 “双11” 大促活动。

时光回到 2014 年的 双12,支付宝联合杭州多家线下品牌和商场门店,推出五折优惠促销活动。在这一次消费狂欢中,滨江区世纪联华店所有的柜员 POS 机前排起了长队,队伍移动速度异常缓慢,商场工作人员表示,服务器出现异常导致支付出了问题。

6 年后的今天,视线再次回到世纪联华超市 双11 大促现场,人潮涌动,却井然有序。参与大促的人数是 6 年前的几倍,但现场支付却稳定又顺滑,这种天壤之别的转变,源于世纪联华对云原生技术的大胆尝试。


世纪联华大促现场

技术架构演进之路

我们有幸采访到世纪联华的技术人员,了解到世纪联华在技术架构演进一路走来的不容易。

2014 年及以前:物理单机架构的灾难

过去所有 POS 机及会员卡支付机器全部部署在各个门店,这套架构持续了近十年之久。

这套架构的最大好处是不受网络影响,在当年网络基础建设还不完善的情况下,商家可以尽最大可能地保障单个门店的交易稳定性不受外界影响。这套架构的最大问题是:当门店机器出现故障时,专业的技术管理员很难第一时间赶到现场及时修复,系统维护工作变得十分困难。

2014 年世纪联华的 双12 活动中,因为业务遭遇爆炸性流量,多个门店支付时好时坏,短时间也无法维护,导致用户体验差,这让世纪联华的技术人决心改进这套使用了十多年的老系统。

2014~2018 年:中央机房部署架构的演进

在 2014 年经历了 双12 大促活动的问题后,联华技术人决心改进各项系统,于是将交易系统和会员系统陆续迁移到自建的中央物理机房,商品系统也改迁为中央下发机器,在浙江省各个门店的 POS 机,通过互联网连接至中央机房。

相比 2014 年以前的架构,新架构主要解决了三个问题:

  • 问题修复可集中维护处理
  • 商品调整价格下发全走网络
  • 数据可以集中查询统计

然而新架构遗留的最大的问题是:

  • 管理人员需要掌握所有机器细节
  • 运维过程中可能出现宕机、断网等事件,调查相对困难,应急处理方案薄弱

2018 年~2019 年年中:全面上云

随着国内公共云建设的进一步发展,世纪联华也开始全面使用阿里云产品,将本地业务包括 MySQL 等全部迁移到了阿里云 ECS 上。

全面上云很好地应对了宕机、计算节点断网等事件的发生,这也坚定了世纪联华使用阿里云的决心。

然而业务急剧的扩展,数据库的查询写入越来越多,全面上云的架构在 2019 年中促销活动中,某台 16 核 32G 的 MySQL 数据库所在的 ECS ,因为会员查询业务实现未做好弹性扩容准备,定时业务陡增导致请求延迟巨大,严重影响了用户体验。

世纪联华开始探索新的业务架构方式,琢磨如何使用简洁的架构实现出更高可用的业务系统。

2019 年年中至 2019 年 双11:Serverless 的探索和尝试

随着线上业务不断发展,世纪联华的业务量不断扩大。在经历了 2019 年中数据库事件后,世纪联华经过尝试探索后,发现阿里云的表格存储服务比较适合自己的弹性业务:陡升陡降的业务不需要提前做预算来准备购买多少台存储服务器。这让联华的技术人很兴奋,因为很难算准突发的定时抢购业务量,这就导致很难预估准备多少机器来应付相应的业务量。表格存储的出现让联华技术人了解到一个词:Serverless!

在探索 Serverless 的道路上,联华的技术人偶然接触到了阿里云的函数计算,在紧张的测试验证后,技术人员发现函数计算的优异表现很契合联华的业务高度弹性的会员查询系统。

从 2019 年 7 月开始,联华技术人在不到 3 个月的时间里,将原有的会员数据全部副本镜像迁移到表格存储,并将所有渠道商的 API 全面迁移到阿里云 API 网关做分发,会员查询业务的计算业务也全面迁移到阿里云函数计算。

2019 年的 双11,函数计算作为计算模块,表格存储作为存储模块,顺利地帮助世纪联华渡过大促,扛住高峰流量的同时确保了应对业务的弹性。而未使用 Serverless 的业务因为预估不足,出现了一些异常。

Serverless 给世纪联华带来新的曙光:

  • 无需人工干预,瞬时弹性扩容很好地解决了流量的爆发带来的服务全面不可用;

  • 运维管理简单,一键部署更新函数,不需要了解网络分发架构,部署流程变得更简单,无需特聘运维人员,普通研发即可操作;

  • 不再需要提前做费用预算,用多少资源是多少钱,极大解决了技术和财务的沟通烦恼;

  • 因为定时秒杀场景请求波峰波谷明显,不需要预留大量机器,从而节省了大量费用。

遗留的问题:

  • 部分请求因为冷启动延时高导致用户体感不好,这也是当时 Serverless 开发人员普遍遇到的问题。

双11 中 Serverless 的表现让联华技术人很振奋。在顺利渡过大促活动后,世纪联华很快宣布:将在所有业务中全面使用函数计算及表格存储!

2020 年的 双11:函数计算 2.0 及全面拥抱 Serverless

2019 年下半年,阿里云函数计算宣布推出 2.0,支持预留模式,全面解决冷启动延迟大的问题;推出单实例多请求问题,较少实例支持重 IO 高并发类型请求调用;支持自定义运行时,支持一键迁移传统 Web 架构服务器。2.0 的出现让函数计算在业务和规模上实现了巨大升级。

在经历了过去的线下场景考验后,世纪联华将各渠道商的业务及旗下的“联华鲸选 APP”,以及线上交易、定时抢优惠券、秒杀业务也全部从 ECS 迁移到了函数计算 2.0,在开启预留模式调整好单实例多并发的模式后,顺利地扛过了是平时数十倍的洪峰流量请求。


比较上述的“时间-流量图”及“时间-延迟”两图可以看到,急剧上升的突发流量对用户造成的延迟变化影响非常小,从实际用户反馈来看确实也证实了用户体验非常顺滑。

所有的数据和业务上云,减轻的不只是研发人员的心理压力,还有工作量。联华华商技术负责人楼杰表示,“阿里云函数计算省了我们技术人员好多工作,我们不用管理服务器这些基础设施,只要编写代码上传,系统就会准备好计算资源,还提供日志查询、性能监控、报警等功能。这要是放在以前,超市搞 双11 大促,我们技术团队都睡不着觉,只靠扩展机器支撑大体量的流量和业务,谁心里都没谱。现在扩容的问题交给阿里云,水位远远高于我们储备能力的极限。”

站在风口上超车:传统企业何以更需关注 Serverless?

2020 年是国内 Serverless 的技术元年,为了降低技术研发成本、提升运维效率,越来越多的企业开始选择使用 Serverless 作为基础研发底座,大力发展业务。

在近期 CNCF Serverless 研究报告中,阿里云函数计算以 46% 的占比占据国内榜首。报告同时显示,大量的国内开发人员正在将传统架构往 Serverless 上做迁移。Serverless 的出现给传统企业数字化转型带了更多机遇。

在今年的疫情当中,线上教育已经成为广大学生群体不可或缺的基础设施,阿里云函数计算也为企业提供了强大的计算力,助力企业实现视频转码成为国内在线教育 TOP 级企业。

除了新浪微博、芒果 TV、石墨文档等互联网企业,在过去的一年里,越来越多的传统企业正在以意想不到的速度接触、尝试、大规模使用函数计算。

传统企业何以更关注 Serverless 呢?现如今,大量尖端技术人才更偏向在互联网公司就业,但传统企业又面对着大量技术升级和重构技术架构的刚需,人才缺口和技术升级之间产生了对云原生技术的需求。Serverless 的出现抹平了研发人员在预算、运维经验上的不足。在帮助企业对抗业务洪峰的情况下,研发人员能轻易掌控处理,不仅极大地降低了研发技术门槛,而且大规模提升了研发效率。对于开发者而言,线上预警、流量观测等工具一应俱全,关键是免去了运维负担,切实为广大开发者提供了普惠技术红利。对传统企业而言,Serverless 缩短了互联网公司与传统企业之间技术竞争力的距离。

由于业务场景、用户习惯迅速变化,许多行业数字化业务出现急速增长,加快数字化业务发展成为传统企业的必然选择。云原生是企业数字化最短路径,越来越多的传统企业正在拥抱云原生,借助更加快速、灵活的开发和交付模式,满足市场快速变化的需求,进而加速业务创新。世纪联华借助 Serverless 保证了一次次大促的成功,正是这一趋势的最好证明。

更多企业落地实践内容,可下载云原生架构白皮书了解详情!

订单峰值激增 230%,Serverless 如何为世纪联华降本超 40%?|双11 云原生实践相关推荐

  1. 世纪联华的 Serverless 之路

    简介:2019 年 双11 过后,世纪联华快速上云,将线上核心业务改造为全 Serverless 架构的中台模式,采用"函数计算+API 网关+OTS"作为计算网络存储核心,弹性支 ...

  2. 爆肝怒赞!K8s+Istio+Serverless全套云原生实践已撸完!

    身为让容器应用实现大规模工业生产的一大功臣,过去几年,Kubernetes  势头迅猛,BAT.京东.美团.字节都走上了全域容器化部署以及云原生架构的康庄大道. 美团技术团队云原生演进之路 如果你认为 ...

  3. 云原生 Serverless Database 使用体验

    作者:李欣 近十年来互联网技术得到了飞速的发展,越来越多的行业加入到了互联网的矩阵,由此带来了更为丰富且复杂的业务场景需求,这对于数据应用系统的性能无疑是巨大的挑战. 关系型数据库 MySQL 是应用 ...

  4. 云原生编程挑战赛--Serverless创新应用赛邀您提交方案啦!

    简介:云原生编程挑战赛,是由阿里云.Intel 主办,阿里云云原生.阿里云天池承办的云原生顶级品牌赛事.自 2015 年开始,大赛已经成功举办了六届,并从 2020 年开始升级为首届云原生编程挑战赛, ...

  5. 京东云的云原生理念及 Serverless 最佳实践

    在云原生技术全面爆发之前,我们开发的应用可以被称为非云原生应用,非云原生应用并没有考虑到应用的弹性和规模性,甚至很多都不具备扩展性,当业务规模扩大时,特别依赖硬件的升级,进而带来了很多问题.云原生的出 ...

  6. 60 万大奖等你来瓜分 | 云原生编程挑战赛 Less is more - Serverless 创新应用赛火热开启中

    简介:快来参加比赛吧! 云原生编程挑战赛,是由阿里云.Intel 主办,阿里云云原生.阿里云天池承办的云原生顶级品牌赛事.自 2015 年开始,大赛已经成功举办了六届,并从 2020 年开始升级为首届 ...

  7. 开放下载 | 《Knative 云原生应用开发指南》开启云原生时代 Serverless 之门

    点击下载<Knative 云原生应用开发指南> 自 2018 年 Knative 项目开源后,就得到了广大开发者的密切关注.Knative 在 Kubernetes 之上提供了一套完整的应 ...

  8. 云原生开发者训练营启动!3天教会你玩转Serverless

    立即报名:https://developer.aliyun.com/learning/trainingcamp/serverless/1?accounttraceid=cb96a7edbf404ca9 ...

  9. 华联、联华、世纪华联、百联

    简单的两个字各种排列组合以后竟然神奇地搞出来那么多不同的单位和商店,让我不得不佩服景德镇人民的智慧.正好今天头让我run一下二三季度全国各大超市便利店的数据,我们俩同时发现了一个问题:世纪联华.联华. ...

最新文章

  1. CSS有效的编写代码
  2. python爬虫框架排行榜-Python爬虫框架--pyspider初体验
  3. Daily scrum[2013.11.28]
  4. 安装mariadb以及允许远程访问
  5. Ubuntu12.04 root用户登录设置
  6. DotText使用非80端口(默认端口)时URL出错
  7. 保护Eclipse RCP应用的商业Java编译器
  8. 七个不容易被发现的生成对抗网络(GAN)用例
  9. 魔方微店商城系统 v1
  10. OSGi 的核心配置、动态化及问题
  11. VBScript:登录辅助脚本
  12. C++得到当前进程所占用的内存
  13. html range 样式,美化 input range 控制条
  14. Android Studio IDE Out of Memory
  15. 【千律】OpenCV基础:图像边缘检测 -- Laplacian 算子和 LoG 算子
  16. cad没有命令输入框_CAD命令,教您CAD命令栏不见了怎么调出来
  17. Element plus:将组件中英文转为中文
  18. 产品经理天马行空,表格组件应对自如
  19. 为微信小程序扩展自定义babel编译功能
  20. linux实践感悟与体会100字,掌上综素b5学科时间活动心得体会50字

热门文章

  1. 013 Android锁机病毒分析
  2. MySQL LIMIT:限制查询结果的记录条数
  3. 108. 奇数码问题【思维 / 逆序对】
  4. 2021暑假每日一题 【week2 完结】
  5. python进程监控并重启
  6. Keepalived工作原理
  7. python测试网络连通性_python 判断网络连通的实现方法
  8. 【JUC并发编程11】线程池
  9. 沙雕同事一来公司就把高并发的程序搞崩了,我心态也蹦了!
  10. 「干货总结」程序员必知必会的十大排序算法