博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
storm实战:基于storm,kafka,mysql的实时统计系统
阅读量:4496 次
发布时间:2019-06-08

本文共 1009 字,大约阅读时间需要 3 分钟。

公司对客户开放多个系统,运营人员想要了解客户使用各个系统的情况,在此之前,数据平台团队已经建设好了统一的Kafka消息通道。

为了保证架构能够满足业务可能的扩张后的性能要求,选用storm来处理各个应用系统上传到kafka中的埋点数据并在Mysql中汇聚。

埋点数据上报的格式为json,会上报类似如下的数据 

{    "account": "001",    "accountName": "旺财宝",    "subaccount": "001",    "subaccountName": "caller001",    "timestamp": 1474625187000,    "eventType": "phone",    "eventTags": [        {            "name": "incoming",            "value": 1        },        {            "name": "missed",            "value": 1        },        {            "name": "edited",            "value": 1        }    ]}

最终通过Storm,在Mysql中汇聚成如下格式 

account account_name subaccount subaccount_name event_type event_tag start_time end_time count
001 旺财宝     phone incoming 2016/9/23 18:00:00 2016/9/23 18:59:59 53
001 旺财宝     phone missed 2016/9/23 18:00:00 2016/9/23 18:59:59 53

 

 

 

 

通过web包装sql语句来作各个业务场景的查询:如某账号一段时间内某事件发生的次数,所有账号一段时间的各个事件发生的次数,或者某事件高发的时间段等等。

之前考虑了最终结果存到哪里:有这样几个待选,Redis,HBase,MongoDB,Mysql。经过估算发现一年的数据量可能不到一千万,在这个数量级,Mysql可以横着走了。

转载于:https://www.cnblogs.com/arli/p/6123539.html

你可能感兴趣的文章
UOJ #47.滑行的窗口
查看>>
P2504 聪明的猴子
查看>>
快速傅里叶变换(FFT)递归
查看>>
子窗口选择多值返回至父窗口的文本框中
查看>>
vi/vim编辑器必知必会(转)
查看>>
散列表(哈希表)工作原理 (转)
查看>>
敏捷开发产品管理系列之二:产品版本规划
查看>>
LeetCode-Reverse Nodes in k-Group
查看>>
PAT 1014. 福尔摩斯的约会
查看>>
[Leetcode] Candy
查看>>
优秀博客地址
查看>>
《连载 | 物联网框架ServerSuperIO教程》- 8.单例通讯模式开发及注意事项
查看>>
使用MicroService4Net 快速创建一个简单的微服务
查看>>
单链表(C++)
查看>>
配置handler vs2013 iis8.0
查看>>
LINQ 常用from
查看>>
26金蟾素数
查看>>
java关键字
查看>>
restful API
查看>>
mysql优化的一些基本语法
查看>>