函数计算助力高德地图平稳支撑亿级流量高峰

简介: 2020 年的“十一出行节”期间,高德地图创造了记录 ——截止 2020 年 10 月 1 日 13 时 27 分 27 秒,高德地图当日活跃用户突破 1 亿,比 2019 年 10 月 1 日提前 3 时 41 分达成此记录。 期间,Serverless 作为其中一个核心技术场景,平稳扛住了流量高峰期的考验。值得一提的是,由 Serverless 支撑的业务在流量高峰期的表现十分优秀,每分钟函数调用量接近两百万次。这再次验证了 Serverless 基础技术的价值,进一步拓展了技术场景。

客户介绍

2020 年的“十一出行节”期间,高德地图创造了记录 ——截止 2020 年 10 月 1 日 13 时 27 分 27 秒,高德地图当日活跃用户突破 1 亿,比 2019 年 10 月 1 日提前 3 时 41 分达成此记录。

期间,Serverless 作为其中一个核心技术场景,平稳扛住了流量高峰期的考验。值得一提的是,由 Serverless 支撑的业务在流量高峰期的表现十分优秀,每分钟函数调用量接近两百万次。这再次验证了 Serverless 基础技术的价值,进一步拓展了技术场景。

客户痛点

自主出行是高德地图的核心业务,涉及到用户出行相关的功能诉求,承载了高德地图 APP 内最大的用户流量。自主出行核心业务中应用 Node FaaS 的部分场景包括主图场景页、路线规划页和导航结束页等。

随着功能的进一步拓展,高德地图从导航工具升级为出行服务平台和生活信息服务入口,进一步拓展了出行相关的生活信息服务场景,带给用户更全面的用户体验。例如新功能场景推荐卡片,旨在根据用户出行意图推荐信息,提升用户出行体验。此功能需具备快速迭代,样式调整高灵活性的能力。因此,将卡片样式模版存放于云端,通过服务下发的形式渲染至客户端无疑为最优选择,可以满足业务快速灵活迭代的目的。

解决方案

经过方案评估判断,此场景类型属于无状态服务,基于阿里云 Serverless 成熟的生态,高德最终选择接入 Node FaaS(阿里云函数计算)服务能力,出行前端搭建了场景推荐卡片服务。卡片的 UI 模版获取、数据请求聚合&逻辑处理、拼接生成 Schema 的能力均在 FaaS 层得到实现,客户端根据服务下发的 Schema 直接渲染展示,达到更加轻便灵活的目标。在“十一出行节”峰值场景中,Serverless 整体服务成功率均大于99.99% ,总计 100W+ 次触发/分钟,QPS 2W+,各场景的服务平均响应时间均在 60ms 以下,服务稳定性超出预期。

使用效果

从对以上业务场景的支撑中,我们可以看出 Serverless 的表现非常优秀。当然你也会问,传统的应用也能带来同样的体验,那么 Serverless 的差异化价值又是什么呢?

  1. 简单提效

传统 BFF(Back-end For Front-end)层应用会随着时间推移,以及业务需求的增加, 其 BFF 层逐渐变 “富”, 冗余的代码逐渐变多,最后变成开发者的噩梦——“牵一发而动全身”。随着人员迭代变化,模块的开发者也会变化,BFF 层就会慢慢变成一个无人知晓,无人敢动的模块。

当 BFF 层转换成 SFF (Serverless For Front-end) 层之后,会有什么变化?SFF 的职责会变的单一、零运维、成本更低,这些是 Serverless 本身自带的能力,而这些能力可以帮助前端进一步释放生产潜能。开发者不再需要一个富 BFF 层,而只需一个接口或一个 SFF 就可以实现功能,天然解决了“牵一发而动全身”的问题。如果接口停服或者没有流量,那么所用的实例会自动缩零,也就很容易分辨出是哪一个接口函数,后期就可以删掉此接口的函数,有效提升资源利用率。

高德在 Serverless 应用上非常先进,实现了 FaaS 层与研发体系的完全对接,因此,应用从开发、测试、灰度、上线的全生命周期,到具备流控、弹性、容灾等标准化能力,所用的时间较以前缩短了 40%,大大提高了人效。
高德1.png

  1. 弹性以及成本

通过流量趋势数据,我们可以观察到地图场景流量特点——高峰与低峰的落差十分明显。按照传统应用的资源准备,我们需要根据最高峰的流量进行资源准备,所以到了流量低峰期,多准备的机器会有很多冗余,这就造成了成本的浪费。

针对以上情况,高德使用了阿里云函数计算,可以根据流量变化自动扩缩容。然而,提升扩缩容速度的复杂性较大,一直是大企业的专属,但函数计算可以通过毫秒级别的启动优势,将快上快下的扩缩容能力普及给用户,轻松帮助用户实现了计算资源的弹性利用,并且大大降低了成本。
高德2.png

  1. 可观测性

可观测性是应用上线诊断平台的必备属性,要让用户观察到 RT 变化、资源的使用率、系统应用的全链路调用,从而快速诊断出系统应用的瓶颈问题。阿里云函数计算率先与日志服务、云监控、tracing 平台以及函数工作流编排做了完美的融合,用户只需要配置一次,就可以完完整整的享受到以上这些功能,大大降低了用户的学习成本,实现了对应用程序的快速诊断。
高德3.png

Serverless 规模化落地的序幕已经拉开, 更多场景正在各行各业中解锁。Serverless 在高德的规模化落地,对于业务方来而言,业务迭代更快更灵活了,为业务创新创造了前提条件;对于前端开发者而言,进一步激活了开发者的生产潜能,提升了极大的能力自信。高德出行业务从 2020 年初的能力试点到“十一出行节”的自主出行核心场景,期间接入了阿里云函数计算,积累了非常宝贵的云原生落地经验,为未来业务整体上云打下了良好基础。

原文链接

本文为阿里云原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/513853.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阿里云李克:阿里云边缘云计算的技术和实践

简介: 李克:边缘计算的核心目标是推动人、事、物的快速决策。 在4月7日下午举办的边缘计算论坛上,阿里云资深技术专家李克为我们带来了《阿里云边缘云计算的技术和实践》为题的精彩演讲。 备受关注的2021全球分布式云大会北京站于4月7日隆重…

如何快速学好python语言_如何快速的学习Python语言

本文主要向大家介绍了如何快速的学习Python语言,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助。 基于自己的学习方法来分享,请客观的看待我提到的几点意见,谢谢。 文末有我自己在guihub上总结性写的一些Python实例…

数学在左,人生在右

在人们印象中,数学作为一门基础学科,由简单的数字和符号组成或简单或复杂的算式,融入我们的生活、学习、工作的方方面面,是理性、严谨的。 然而笔者在 2021 阿里巴巴全球数学竞赛颁奖典礼上看到数学的另一面:在数学的…

android保存字符到sd卡,android 保存TXT文件到SD卡方法

直接贴代码吧:import java.io.*;import android.util.Log;/*将调试信息保存到sdcard上*/public class DebugMessage{public static void put(String s,String name){try{FileOutputStream outStream new FileOutputStream("/sdcard/"name".txt"…

函数计算助力语雀构建稳定且安全的业务架构

简介: 语雀是一个专业的云端知识库,用于团队的文档协作。现在已是阿里员工进行文档编写和知识沉淀的标配,并于 2018 年开始对外提供服务。 客户介绍 语雀是一个专业的云端知识库,用于团队的文档协作。现在已是阿里员工进行文档编…

android menu自定义,Android提高之自定义Menu(TabMenu)实现方法

一般使用过UCWEB-Android版的人都应该对其特殊的menu有一定的印象,把menu做成Tab-Menu(支持分页的Menu),可以容纳比Android传统的menu更丰富的内容(Android的menu超过6项则缩略在[更多]里),本文参考网上的例子的基础上对例子进行简化以及封装…

一行指令造成 60 亿美元蒸发,更让 Facebook 遭遇史诗级故障!

作者 | 马超 责编 | 张红月出品 | CSDN弱小从来不是生存的障碍,傲慢才是。10月4日 FaceBook 发生了一次史诗级中断事故,故障期间 FaceBook 所有旗下APP全面对外服务中断,而且故障的时间长达7个小时之久。根据 Facebook 最新的声明来看&…

一不小心,它成为了 GitHub Alibaba Group 下 Star 最多的开源项目

简介: 随着微服务的流行,应用更加轻量和高效,但是带来的困境是线上问题排查越来越复杂困难。传统的 Java 排查问题,需要重启应用再进行调试,但是重启应用之后现场会丢失,问题难以复现。 来源 | 阿里巴巴云…

python运行空白_执行时空白tkinter窗口

我修改了你的代码让它正常工作。在 更改了&#xff1a;您有2个变量^ {< CD1>}和^ {CD2>}&#xff0c;其中一个是创建空白窗口。我将其更改为只使用一个变量root&#xff0c;它在开始时初始化为myproject。在 我没有在函数中使用root&#xff0c;而是将它们改为self&am…

因云而生 全新视角看阿里云服务器硬件方升架构

简介&#xff1a; 方升架构作为新一代云服务器架构的典范&#xff0c;是阿里云云原生基础设施的最佳实践之一。阿里云结合云计算丰富业务场景需求&#xff0c;推出一系列自研服务器产品、部件及解决方案&#xff0c;包括高性能计算全栈解决方案、高性能存储和大容量存储解决方案…

华为鸿蒙电脑操作系统测试版,华为鸿蒙测试版下载 华为鸿蒙测试版电脑版下载...

软件介绍《华为鸿蒙测试版电脑版》是华为的鸿蒙os系统&#xff0c;能兼容全部安卓应用的所有Web应用。若安卓应用重新编译&#xff0c;在华为OS操作系统上&#xff0c;华为OS将打通手机、电脑、平板、电视、汽车、智能穿戴。游戏启动1、关于安卓模拟器&#xff0c;在下载的游戏…

项目版本管理的最佳实践:云效飞流Flow篇

简介&#xff1a; 飞流Flow的最佳实践&#xff08;使用阿里云云效&#xff09;为了更好地使用飞流Flow&#xff0c;接下来将结合阿里云云效来讲解飞流Flow的最佳实践 目录 一、分支规约 二、版本号规约 2.1 主版本号&#xff08;首位版本号&#xff09; 2.2 次版本号&#xff…

低碳数据中心,因何而来?一文读懂如何利用超融合降碳

作者 | 让科技向善的 来源 | SmartX“Global warming isn’t a prediction. It is happening.” 全球变暖并非预言&#xff0c;是正在发生的现实。联合国政府间气候变化专门委员会在今年 8 月发布的报告宣称&#xff0c;人类即将突破 1.5 摄氏度这一关键的气温上升极限。为…

python怎么把列表转换成字符串_如何将字节列表(unicode)转换为Python字符串?

将字节序列转换为Unicode字符串是通过在该str(在Python 2.x中)或字节(Python 3.x)对象上调用decode()方法来完成的. 如果你实际上有一个字节列表,那么,为了获得这个对象,你可以使用”.join(bytelist)或b”.join(bytelist). 您需要指定用于编码原始Unicode字符串的编码. 但是,术…

Duang,您的钉钉应用已上线!云开发5分钟快速打造钉钉会议室预定系统

简介&#xff1a; 5分钟可以干什么&#xff1f;喝一杯咖啡&#xff0c;回一封邮件&#xff0c;还是开发上线一个钉钉应用。云开发平台联合钉钉开发平台推出0门槛打造你的第一个钉钉应用的活动&#xff0c;完成相应任务后&#xff0c;即可领取精美奖品。春暖花开&#xff0c;领个…

android studio黄油刀依赖,如何在Android Studio中设置ButterKnife插件?

我需要安装黄油刀.在哪里可以下载&#xff1f;我下载了一个.jar插件(但是如果该文件是我需要的那个文件),我已经安装了,但是当我点击选项“生成”时,不会出现使用butterknife的选项.接下来的一个视频教程我修改了文件Gradle build&#xff1a;我现在有了如下&#xff1a;apply …

倒计时3天!携手开发者,一起精准打造数智未来!

把故事写进代码&#xff0c;用代码改变世界重塑或者改变这个世界的并不是超人而是开发者他们用技术自我成就因情怀练就工匠精神2021年&#xff0c;移动云开启了首届API应用创新开发大赛&#xff0c;以“创新云转型&#xff0c;智慧云服务”为主题&#xff0c;旨在激发开发者创新…

自建Kubernetes集群如何使用弹性容器实例ECI

简介&#xff1a; 虚拟节点&#xff08;Virtual Node&#xff09;实现了Kubernetes与弹性容器实例ECI的无缝连接&#xff0c;让Kubernetes集群轻松获得极大的弹性能力&#xff0c;而不必受限于集群的节点计算容量。您可以灵活动态的按需创建ECI Pod&#xff0c;免去集群容量规划…

一文读懂容器存储接口 CSI

简介&#xff1a; 在《一文读懂 K8s 持久化存储流程》一文我们重点介绍了 K8s 内部的存储流程&#xff0c;以及 PV、PVC、StorageClass、Kubelet 等之间的调用关系。接下来本文将将重点放在 CSI&#xff08;Container Storage Interface&#xff09;容器存储接口上&#xff0c;…

低代码:如何保障开发安全性?

编辑 | 宋慧 供稿 | Mendix Mendix相信&#xff0c;低代码开发的安全性和隐私保护离不开信任。Mendix、用户及其客户需要建立起信任的纽带。企业用低代码开发应用时&#xff0c;不仅想加快开发和部署的速度&#xff0c;还要相信应用可以为企业自身及其客户提供全方位的安全保障…