• 04_流式计算基础_第1天(流式计算案列-实时业务数据计算)---没用


    课程介绍

    课程名称:

    Storm实时交易金额计算

    课程目标:

    通过本模块的学习,能够掌握流式计算的基本开发流程,将Kafka+Storm+Redis三门技术集成运用;掌握如何根据业务需求开发一个Storm程序。

    课程大纲:

    1、 业务背景介绍

    2、 业务需求分析

    3、 架构设计

    4、 功能分析之数据准备

    5、 功能分析之数据计算

    6、 功能分析之数据展示

    7、 工程设计

    8、 代码开发

    9、 结果展示

     

    课程内容

    1、业务背景

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

     

     

     

     

    2、架构设计及思路

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

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

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

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

     

    3、数据准备

     

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

     

     

    4、业务口径

    l 订单总数:一条支付信息当一条订单处理,假设订单信息不会重发(实际情况要考虑订单去重的情况,父子订单等多种情况),计算接收到MQ的总条数,即当做订单数。

    l 销售额:累加所有的订单中商品的价格

    l 支付金额:累加所有订单中商品的支付价格

    l 用户人数:一条支付信息当一个人处理,假设订单一个人只下一单(实际情况要考虑用户去重的情况)。

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

     

    5、数据展示

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

     

    6、工程设计

    l 数据产生:编写kafka数据生产者,模拟订单系统发送mq

    l 数据输入:使用PaymentSpout消费kafka中的数据

    数据计算:使用CountBolt对数据进行统计

    l 数据存储:使用Sava2RedisBolt对数据进行存储,将结果数据存储到redis中

    l 数据展示:编写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

     

    7、代码开发

     

  • 相关阅读:
    jQuery 核心
    Js实现内容向上无缝循环滚动
    浅析CSS postion属性值用法
    JS原生Ajax请求
    详解SQL集合运算
    Windows上开启IIS
    poj 4618 暴力
    hdu 4614 线段树
    poj 3468 线段树
    hdu 1698 线段树成段更新
  • 原文地址:https://www.cnblogs.com/shan13936/p/13785057.html
Copyright © 2020-2023  润新知