开发环境:Linux、Idea
框架技术:Flume、Kafka、Flink、MySql、Scala、Canal、Redis
项目描述:
面对越来越高的实时性需求,公司决定引进Flink框架对原来有的Spark
Streaming 程序进行完善。将实时部分的项目渐渐迁移到Flink来完成。由此获取
低延时,高容错性的结果。为用户提供更完美的购物体验,从而提高公司商品的销
量,增加公司利润。
主要职责:
1、负责业务数据和用户行为日志的实时采集、计算、存储。
2、负责开发实时指标:实时统计用户人数,交易总额总数。
3、负责开发实时指标:实时统计一个小时内商品TOPN详情指标。
4、负责开发实时指标:实时监控用户登录,以及支付状态异常。
5、负责开发实时指标:实时统计各APP分渠道用户数量。
6、负责开发实时指标:实时更新订单以及订单详情状态。
技术描述:
1、实时项目的数据来源主要有两种。一种为前端埋点的Log日志,另一种为
在Mysql中变动产生Binlog日志。
2、Flink将前端的流量数据与MySQL的业务数据同时读入Kafka的不同Topic。
3、实时架构分为三层,分别为OSD(数据操作层),DWD(明细层),以及DIM(维
表层)。其中ODS、DWD、DIM层均存储在Kafka内。
4、将来自埋点的流量数据以及Binlog的数据存入ODS层。
5、从Kafka中读流量数据和MySQL事实表变化数据进行解析,脱敏,ETL,之
后存入DWD层,其中业务数据是从Mysql中通过Canal读入Kafka内。
6、从MySQL中读取到的维度表相关业务数据通过Canal导入MySQL最终读入
Kafka生成DIM层数据。
7、编写Flink的API对数据进行业务处理,获得结果存入MySQL内
8、通过SuperSet连接MySQL进行实时大屏展示指标数据。