BpFile(id=353, bpId=219, name=Function Compute构建高弹性大数据采集系统, author=null, keyword=FunctionCompute,serverless,大数据,采集, description=当前互联网很多场景都存在需要将大量的数据信息采集起来然后传输到后端的各类系统服务中,对数据进行处理、分析,形成业务闭环。比如游戏行业中的游戏发行、游戏运营,产互行业中的数字营销,物联网、车联网行业中的硬件、车辆信息上报等等。这些场景普遍存在数据采集量大、数据传输需要稳定且吞吐量大的特点,给整个数据采集传输系统带来很大的挑战。在这个场景中,有三个关键的环节,数据采集、数据传输、数据处理。该最佳实践主要涉, position=null, ossUrl=bp-35G4Q7W100BL74V6.pdf, tags=null, level=null, tagList=null, products=null, productList=null, hotspot=null, oneClick=1, createTime=null, modifiedTime=null, timeConsuming=null, status=1, pdfDescription=
当前互联网很多场景都存在需要将大量的数据信息采集起来然后传输到后端的各类系统服务中,对数据进行处理、分析,形成业务闭环。比如游戏行业中的游戏发行、游戏运营,产互行业中的数字营销,物联网、车联网行业中的硬件、车辆信息上报等等。这些场景普遍存在数据采集量大、数据传输需要稳定且吞吐量大的特点,给整个数据采集传输系统带来很大的挑战。在这个场景中,有三个关键的环节,数据采集、数据传输、数据处理。该最佳实践主要涉
, templateId=EUDEKJ2M05OOE010, freetry=, visitTime=null, visitCount=null, video_url=, buttonName=null, buttonUrl=null, targetId=EUDEKJ2M05OOE010, partner=, partnerUrl=, partnerLogo=, cooperation=, cooperationList=null)
1FunctionCompute构建高弹性大数据采集系统 最佳实践
业务架构
场景描述
当前互联网很多场景都存在需要将大量的数据信
息采集起来然后传输到后端的各类系统服务中,
对数据进行处理、分析,形成业务闭环。比如游
戏行业中的游戏发行、游戏运营,产互行业中的
数字营销,物联网、车联网行业中的硬件、车辆
信息上报等等。这些场景普遍存在数据采集量大、
数据传输需要稳定且吞吐量大的特点,给整个数
据采集传输系统带来很大的挑战。在这个场景中,
部署架构
有三个关键的环节,数据采集、数据传输、数据
处理。该最佳实践主要涉及到数据采集和数据传
输环节。
方案优势
1. 实现业务弹性高可用,削峰填谷的同时,实
现按需低成本的计算服务。
2. 云原生架构构建业务系统,高效免运维。
解决问题
1. 利用服务器自建数据采集系统成本高,弹性
不足。
2. 利用服务器自建数据采集系统运维复杂,成
本高。
产品列表
专有网络VPC
日志服务SLS
链路追踪TracingAnalysis
云服务器ECS
云数据库RDS
最佳实践频道 阿里云最佳实践技术分享群
函数计算FC
消息队列Kafka版
性能测试PTS
云速搭CADT
2云服务器ECS(产品名称) 文档模板(手册名称)/文档版本信息
阿里云
FunctionCompute构建高弹性
大数据采集系统
最佳实践
文档版本:20210806
文档版本:20150122(发布日期) 2
3FunctionCompute构建高弹性大数据采集系统 文档版本信息
文档版本信息
文本信息
属性 内容
文档名称 FunctionCompute构建高弹性大数据采集系统
文档编号 219
文档版本 V1.0
版本日期 2021-08-06
文档状态 外部发布
制作人 敬海计缘
审阅人 衾影游圣
文档变更记录
版本编号 日期 作者 审核人 说明
V1.0 2021-07-12 敬海计缘 衾影游圣 创建
V1.1 2021-08-06 敬海 更新细节
文档版本:20210806(发布日期) I
4FunctionCompute构建高弹性大数据采集系统 产品介绍
产品介绍
VPC:专有网络VPC(VirtualPrivateCloud)是用户基于阿里云创建的自定义私
有网络,不同的专有网络之间二层逻辑隔离,用户可以在自己创建的专有网络内创
建和管理云产品实例,比如ECS、负载均衡、RDS等。更多信息,请参见:
www.aliyun.com/product/vpc
ECS:云服务器ECS(ElasticComputeService)是一种简单高效、处理能力可
弹性伸缩的计算服务。帮助您构建更稳定、安全的应用,提升运维效率,降低IT
成本,使您更专注于核心业务创新。更多信息,请参见:
www.aliyun.com/product/ecs
SLS:日志服务(SLS)是云原生观测分析平台,为Log/Metric/Trace等数据提供
大规模、低成本、实时平台化服务。一站式提供数据采集、加工、分析、告警可
视化与投递功能,全面提升研发、运维、运营和安全等场景数字化能力。更多信
息,请参见:www.aliyun.com/product/sls
TracingAnalysis:链路追踪TracingAnalysis为分布式应用的开发者提供了完整
的调用链路还原、调用请求量统计、链路拓扑、应用依赖分析等工具,可以帮助
开发者快速分析和诊断分布式应用架构下的性能瓶颈,提高微服务时代下的开发
诊断效率。更多信息,请参见:https://help.aliyun.com/product/90275.html
RDS:阿里云关系型数据库RDS(RelationalDatabaseService)是一种稳定可
靠、可弹性伸缩的在线数据库服务。基于阿里云分布式文件系统和SSD盘高性能
存储, RDS支持MySQL、SQLServer、PostgreSQL、PPAS(PostgrePlus
AdvancedServer,高度兼容Oracle数据库)和MariaDBTX引擎,并且提供了
容灾、备份、恢复、监控、迁移等方面的全套解决方案,彻底解决数据库运维的
烦恼。更多信息,请参见:www.aliyun.com/product/rds
函数计算 FC: 函数计算(FunctionCompute)是一个事件驱动的全托管
Serverless计算服务,您无需管理服务器等基础设施,只需编写代码并上传,函
数计算会为您准备好计算资源,并以弹性、可靠的方式运行您的代码。更多信息,
请参见:www.aliyun.com/product/fc
消息队列Kafka版:消息队列 Kafka 版是阿里云基于 ApacheKafka 构建的高
吞吐量、高可扩展性的分布式消息队列服务,广泛用于日志收集、监控数据聚合、
文档版本:20210806(发布日期) III
5FunctionCompute构建高弹性大数据采集系统 产品介绍
流式数据处理、在线和离线分析等场景,是大数据生态中不可或缺的产品之一,
阿里云提供全托管服务,用户无需部署运维,更专业、更可靠、更安全。更多信
息,请参见:www.aliyun.com/product/kafka
性能测试PTS:性能测试PTS(PerformanceTestingService)是面向所有技术
背景人员的云化测试工具。有别于传统工具的繁复,性能测试PTS以互联网化的
交互,提供性能测试、API调试和监测等多种能力。自研和适配开源的功能都可
以轻松模拟任意体量的用户访问业务的场景,任务随时发起,免去繁琐的搭建和
维护成本。更多信息,请参见:www.aliyun.com/product/pts
云速搭CADT:是一款为上云应用提供自助式云架构管理的产品,显著地降低应
用云上管理的难度和时间成本。本产品提供丰富的预制应用架构模板,同时也支
持自助拖拽方式定义应用云上架构;支持较多阿里云服务的配置和管理。用户可
以方便的对云上架构方案的成本、部署、运维、回收进行全生命周期的管理。更
多信息,请参见:https://www.aliyun.com/product/developerservices/cadt
文档版本:20210806(发布日期) IV
6FunctionCompute构建高弹性大数据采集系统 最佳实践概述
目录
文档版本信息..................................................................................................................................................................I
.........................................................................................................................................................................
法律声明 II
产品介绍........................................................................................................................................................................III
.................................................................................................................................................................................
目录 1
.................................................................................................................................................................
最佳实践概述 2
前置条件.........................................................................................................................................................................4
...................................................................................................................................................................
1.环境部署 5
2.创建数据采集函数.................................................................................................................................................13
.................................................................................................................................................
3.创建削峰填谷函数 20
......................................................................................................................................................
3.1.安装Fun 21
3.1.1.登录之前创建的ECS.....................................................................................................................21
..........................................................................................................................................
3.1.2.安装Fun 23
3.2.编写template.yml.....................................................................................................................................25
.........................................................................................................................................
3.3.安装第三方依赖 28
.....................................................................................................................................
3.3.1.安装docker 29
3.3.2.启动docker服务............................................................................................................................29
..........................................................................................................................
3.3.3.安装Kafka模块: 29
3.4.部署函数......................................................................................................................................................30
......................................................................................................................................
3.4.1.创建数据库 31
...................................................................................................................
3.4.2.登录DMS并创建表格 33
3.4.3.Kafka配置........................................................................................................................................34
.....................................................................................................................................
3.4.4.编写fc函数 37
4.完善两个函数.........................................................................................................................................................42
.....................................................................................................................
4.1.第一个函数调用第二个函数 42
...............................................................................................................
4.2.开启函数服务的VPC资源访问 46
4.3.验证FC->Kafka的链路............................................................................................................................47
..............................................................................................................................
4.4.验证FC->RDS的链路 49
5.性能压测.................................................................................................................................................................51
文档版本:20210806(发布日期) 1
7FunctionCompute构建高弹性大数据采集系统 最佳实践概述
最佳实践概述
概述
当前互联网很多场景都存在需要将大量的数据信息采集起来然后传输到后端的各类系
统服务中,对数据进行处理、分析,形成业务闭环。比如游戏行业中的游戏发行、游
戏运营,产互行业中的数字营销,物联网、车联网行业中的硬件、车辆信息上报等等。
这些场景普遍存在数据采集量大、数据传输需要稳定且吞吐量大的特点,给整个数据
采集传输系统带来很大的挑战。在这个场景中,有三个关键的环节,数据采集、数据
传输、数据处理。该最佳实践主要涉及到数据采集和数据传输环节。
适用场景
游戏行业中的游戏发行、游戏运营,产互行业中的数字营销,物联网、车联网行业中
的硬件、车辆信息上报等等。
技术架构
本实践方案基于如下图所示的技术架构和主要流程编写操作步骤:
以上是整体的架构图,下面我们来逐步拆解:
数据源
这里来模拟采集用户一些行为数据,数据格式如下:
{
"action":"readArticle",
"articleTitle":"FC+Kafka最佳实践",
"articleAuthorId":1,
"articleAuthorName":"jiyuan",
"ts":1621577423
文档版本:20210806(发布日期) 2
8FunctionCompute构建高弹性大数据采集系统 最佳实践概述
}
数据采集函数
第一个函数是直面大流量请求的数据采集函数,主要职责是在流量高峰期快速弹
起多个实例承载大并发量的请求采集数据,在流量低峰时逐步缩减实例来达到成
本优化控制。
数据削峰填谷函数
第二个函数用来对大量的消息做削峰填谷,避免压垮下游服务,同时可以选择在
该函数中对数据做一些预处理的操作。
Kafka做数据传输
实时接收数据,对数据量做二次缓冲,再由下游消费者拉取数据进行消费。
下游服务
下游服务包含从Kafka里取数据进行实时流处理的实时计算Flink,数据处理完后
将数据推给ES存储,另外还有在第二个函数中对数据简单处理后直接存入数据库。
部署架构
文档版本:20210806(发布日期) 3