118 Storm实时交易金额计算案例分析

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: 118 Storm实时交易金额计算案例分析
1.业务背景

根据订单mq,快速计算双11当天的订单量、销售金额。

2.架构设计及思路

支付系统+kafka+storm/Jstorm集群+redis集群

1、支付系统发送mqkafka集群中,编写storm程序消费kafka的数据并计算实时的订单数量、订单数量

2、将计算的实时结果保存在redis

3、外部程序访问redis进群中的数据实时展示结果

3.数据准备

订单编号、订单时间、支付编号、支付时间、商品编号、商家名称、商品价格、优惠价格、支付金额。

4.业务口径
  • 订单总数:一条支付信息当一条订单处理,假设订单信息不会重发(实际情况要考虑订单去重的情况,父子订单等多种情况),计算接收到MQ的总条数,即当做订单数。
  • 销售额:累加所有的订单中商品的价格
  • 支付金额:累加所有订单中商品的支付价格
  • 用户人数:一条支付信息当一个人处理,假设订单一个人只下一单(实际情况要考虑用户去重的情况)。

整体淘宝的业务指标,每个品类,每个产品线,每个淘宝店

5.数据展示

读取redis中的数据,每秒进行展示,打印在控制台。

6.工程设计
  • 数据产生:编写kafka数据生产者,模拟订单系统发送mq
  • 数据输入:使用PaymentSpout消费kafka中的数据
  • 数据计算:使用CountBolt对数据进行统计
  • 数据存储:使用Sava2RedisBolt对数据进行存储,将结果数据存储到redis中
  • 数据展示:编写java app客户端,访问redis,对数据进行展示,展示方式为打印在控制台。

1、获取外部数据源,MQSpout----Open(连接你的RMQ)—nextTuple()-----emit(json)

2、ParserPaymentInfoBolt()----execute(Tuple)------解析Json----JavaBean

  • productId,orderId,time,price(原价,订单价,优惠价,支付价),user,收货地址 , total:原价、total:订单价、total:订单人数……

3、Save2ReidsBolt:保存相关业务指标

- 问题: 在redis中存放整个网站销售的原价,b:t:p:20160410 —> value , redis: String----> value1+value2 + value3 + value4 incrBy

b:t:p:20160410

b:t:p:20161111

b:t:p:20160412

目录
相关文章
|
6月前
|
数据采集 存储 监控
淘宝详情数据采集(商品上货,数据分析,属性详情,价格监控),海量数据值得get
淘宝详情数据采集涉及多个环节,包括商品上货、数据分析、属性详情以及价格监控等。在采集这些数据时,尤其是面对海量数据时,需要采取有效的方法和技术来确保数据的准确性和完整性。以下是一些关于淘宝详情数据采集的建议:
|
存储 缓存 Oracle
|
6月前
|
消息中间件 分布式计算 大数据
【大数据技术】Spark+Flume+Kafka实现商品实时交易数据统计分析实战(附源码)
【大数据技术】Spark+Flume+Kafka实现商品实时交易数据统计分析实战(附源码)
214 0
|
分布式计算 数据可视化 大数据
基于Spark的企业订单数据分析
基于Spark的企业订单数据分析
|
大数据 开发者
电商项目之用户交易宽表分析|学习笔记
快速学习电商项目之用户交易宽表分析
电商项目之用户交易宽表分析|学习笔记
|
SQL 大数据 开发者
电商项目之交易订单明细流水表执行测试|学习笔记
快速学习电商项目之交易订单明细流水表执行测试
电商项目之交易订单明细流水表执行测试|学习笔记
|
大数据 开发者
电商项目之交易类指标统计表分析|学习笔记
快速学习电商项目之交易类指标统计表分析
|
大数据 开发者
电商项目之支付类指标统计表分析|学习笔记
快速学习电商项目之支付类指标统计表分析
|
大数据 开发者
电商项目之交易订单明细流水表分析|学习笔记
快速学习电商项目之交易订单明细流水表分析
|
数据采集 大数据 开发者
离线数据计算-国际查询转换率及其他|学习笔记
快速学习离线数据计算-国际查询转换率及其他
164 0