首页 > 其他分享 >前端埋点数据采集(一)采集系统架构设计

前端埋点数据采集(一)采集系统架构设计

时间:2024-05-06 18:00:11浏览次数:27  
标签:架构设计 数据库 系统 采集 埋点 数据 前端

前几次内容分享,我们逐步搭建了传统hadoop大数据平台、zookeeper、kafka集群等。

 

假设现在一个场景是:今天产品经理提了1个优先级极高的需求:应用系统前端埋点数据都需要被采集到大数据平台hadoop上。

 


“前端埋点数据的采集系列”,主要分为以下5个部分:

一、采集系统架构设计

二、mock应用系统10万条前端埋点数据
三、Flume采集数据

四、Flume消费Kafka数据到HDFS

五. 前端埋点数据采集总结

一、明确项目目标设计方案

这个需求意味着公司项目开始由javaweb端的数据走向大数据平台,再到数仓平台,最终由报表系统、用户画像系统、推荐系统等展示数据分析平台,来监控经营决策和衡量公司业绩。

 

1、明确项目目标

 

  • 首先,我们要明确项目目标:前端埋点数据需要从javaweb端上传采集到大数据平台HDFS端。
  • 其次,前端APP、H5、PC、小程序等产生的数据分为两大类:一类是业务数据,比如用户的交易、下单、支付、退单等在应用系统的数据库存储;
  • 第二类是埋点数据,比如用户的手机型号、位置、点击屏幕、购买路径等行为会由应用系统写到日志文件log中。
  • 需要采用不用的采集方法。

 

2、设计方案

 

  • 前端埋点的采集我们有很多方案:

    • 可以通过自行编写java代码来模拟实现生成数据到本地文件;
    • 也可以通过第三方工具,埋点系统工具来实现日志的生成。比如:友盟和talking data、神策平台、后裔采集器等等。
  • 梳理本地数据被采集到HDFS上的过程
    • flume采集数据到kafka
    • Kafka生产和消费数据
    • flume消费kafka数据到HDFS上 

 

二、应用系统架构设计

 

 

我们首先需要了解应用系统涉及架构以及数据的流向。

 

1、前端

 

大前端数据来源包括:APP、PC、小程序、H5、爬虫等数据;

 

2、CDN

 

主要组成部件是:防火墙、网络安全设施、F5、负载均衡等。我们关注的点是数据来源,其实这层对企业来说非常重要涉及网络信息安全、负载等等。 

 

3、后端

 

后端这里分成两大类:主要是根据数据结构来分。
 1)业务数据系统

  • 单体架构单nginx,单tomcat,基于SpringBoot,单数据库Oracle;
  • 分布式架构多负载均衡多个nginx,下挂多个tomcat的,基于SpringCloud,分布式数据库mysql、非关系型数据库redis;
  • 其他架构:如:基于ASPnet Core、net、php、sqlserver数据库的;

 

 2)日志埋点数据系统

 

基于SpringBoot生成log到服务器。前端埋点的日志会被系统采集到log文件夹里面存放在服务器。

 

 

三、采集系统整体架构设计

 

采集系统的架构设计:

 

  • 从底层数据业务类型来看分为两大类:埋点日志和业务系统数据

  • 逻辑分层来看:分为三层
    • 数据来源层
    • 数据采集层
    • 数据存储层

 

1、数据来源层

 

  1. 业务数据
    • 关系型数据库数据

      常用常见的如:传统型Oracle、互联网公司Mysql、PGsql、OceanBase来自阿里系已经独立奥星贝斯公司。属于国产化数据库,工行目前对公理财已经使用,部分中小型银行中原银行等也已经使用。对于金融行业近年来一直要求新创,未来应该会成为主流数据库。

      非关系型数据库Not Only Sql数据基于键值存储的redis;基于文档数据库mongoDB;基于图形存储的Neo4j
      基于宽列存储的Cassandra;
  2. 日志数据作为一种非结构化数据,如:log、video、picture等。

 

2、数据采集层

 

    1. 业务数据采集
    2. 业务系统数据库产生的数据,需要通过分布式组件Sqoop来采集。sqoop主要用于在Hadoop(Hive)与传统的数据库(mysql)间进行数据的传递,可以将一个关系型数据库(例如:MySQL ,Oracle 等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。

 

  1. 日志数据采集日志作为一种非结构化数据,如:log、video、picture等。采集到HDFS平台,需要通过flume、kafka等组件完成。涉及到服务器采集的选型通道的建立等等。

 

3、数据存储层

 

Hadoop集群数据存储主要是数据存在分布式文件系统HFDS上,后面会使用hive存储。

 

 

 

4、注册中心zookeeper

 

它提供的服务包括:统一命名服务、统一配置管理、统一集群管理、服务器节点动态上下线、软负载均衡等。

 

 


总结:

    1. 先了解应用程序简单基本架构
    2. 了解大数据平台数据采集架构
    3. 涉及到项目管理知识,当你拿到一个项目首先要明确PM给你的项目目标是什么?你需要交付什么?然后拆分项目目标,拆分梳理实现项目目标的流程步骤,设计整体方案。

 

标签:架构设计,数据库,系统,采集,埋点,数据,前端
From: https://www.cnblogs.com/yayuya/p/18175548

相关文章

  • 岩土工程监测中振弦采集仪的布设方案及实施步骤简析
    岩土工程监测中振弦采集仪的布设方案及实施步骤简析岩土工程监测中,河北稳控科技振弦采集仪是一种常用的地下水位和土层压缩性监测工具。它通过采集振弦的振动信号来确定地下水位和土层的压缩性,为岩土工程的设计、施工和监测提供重要的数据支持。下面将对振弦采集仪的布设方案和实......
  • 百舸实践之「埋点数据深度治理与应用」 | 京东云技术团队
    一、背景随着公司和业务的不断发展,百舸平台也从单一内容投放转向了以流量和数据为基础的流量运营模式。在这个转变过程中,数据深度治理与应用的重要性尤为凸显,在数据深度治理过程中,需要将用户行为数据、投放素材以及投放效果三者紧密的串联起来。数据深度治理和应用,一方面满足了当......
  • C#使用MX Component实现三菱PLC软元件数据采集的完整步骤(仿真)
    前言本文介绍了如何使用三菱提供的MXComponent插件实现对三菱PLC软元件数据的读写,记录了使用计算机仿真,模拟PLC,直至完成测试的详细流程,并重点介绍了在这个过程中的易错点,供参考。 用到的软件:1.PLC开发编程环境GXWorks2,GXWorks2下载链接 https://www.mitsubishielectric-......
  • MLX90640热像仪测温采集 科研实验 非接触测温
    ​1、描述这是一款小巧迷你科研实验测温热成像多功能热像记录仪,模块带一路ALARM报警信号2.8v电平,一路IICSDASCL接口,一路TTL串口TXDRXD接口,自带USB串口芯片,TYPEC直插电脑显示串口,搭配多功能电脑软件,温度数据看得清楚,是家庭、实验室、工业等不可缺少的工具。点击查看详情!点击......
  • FLIR LEPTON3.5 热像仪wifi 科研实验测温采集仪
    ​ 点击查看详情!点击查看详情点击查看详情点击查看详情点击查看详情点击查看详情点击查看详情点击查看详情点击查看详情点击查看详情点击查看详情点击查看详情点击查看详情点击查看详情点击查看详情1、描述这是一款桌面科研实验测温热成像多功能热像记录仪,小巧轻便,机身标准......
  • 振弦采集仪在岩土工程监测中的长期稳定性评估与趋势分析
    振弦采集仪在岩土工程监测中的长期稳定性评估与趋势分析河北稳控科技振弦采集仪是岩土工程监测中常用的一种测量设备,它通过测量振弦的振动频率和振动幅度来获取地下介质的力学性质。在长期监测中,评估振弦采集仪的稳定性,并进行趋势分析是非常重要的,可以帮助工程师更好地了解地下介......
  • 分享一份物联网SAAS平台架构设计
    一、架构图****二、Nginx****用于做服务的反向代理。三、网关****PaaS平台所有服务统一入口,包含token鉴权功能。四、开放平台****对第三方平台开放的服务入口。五、MQTT****MQTT用于设备消息通信、内部服务消息通信。六、Netty****Socket通信设备连接服务。七......
  • Node-RED实现OPC DA数据采集
    1、OPCDAREAD组件BUG汇总(1)当通过Node-RED编辑页面导入流程文件后,或删除报错的节点,并部署后,输出窗口会一直报Error信息,如下图所示解决方法:经过测试,重新部署还是会报错,需要重启Node-RED容器,具体原因猜测可能是因为NodeRED缓存了之前部署好的报错节点,即使删除了,还是会报错。(2)设......
  • 振弦采集仪在岩土工程监测中的应用案例与成果展示
    振弦采集仪在岩土工程监测中的应用案例与成果展示河北稳控科技振弦采集仪是一种岩土工程监测仪器,通过采集地下振动信号来获取地下构造的动态特性,具有高精度、高灵敏度和高实时性的特点。在岩土工程监测中,振弦采集仪广泛应用于地基沉降、地震波传播、地下水动力响应等方面,取得了一......
  • openGauss MOT数据采集速度
    MOT数据采集速度该测试模拟海量物联网、云端或移动端接入的实时数据流,快速持续地把海量数据注入到数据库。本次测试涉及大量数据采集,具体如下:1000万行数据由500个线程发送,2000轮,每个insert命令有10条记录(行),每条记录占200字节。客户端和数据库位于不同的机器上。数据库服......