storm+kafka+redis的实时订单流

Posted Nathon的学习笔记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了storm+kafka+redis的实时订单流相关的知识,希望对你有一定的参考价值。

在互联网或者电商场景里面,统计实时数据的场景还是很常见的。比如,在每天某些时段或者特殊的节日会统计订单商品的销量,通过这些数据可以让运营人员作决策。这种场景下就有几个问题需要提前考虑:

  1. 实时数据如何获取;

  2. 数据获取后需要快速计算;

  3. 有些时间段的数据量是庞大的,那么需要有地方来缓存结果,并且缓存的结果能够快速提取作展现。

因此,采用的架构是订单系统+kafka+storm集群+redis集群的方案来实现。


简单分解下就是,通过订单系统发送订单到kafka集群,然后通过storm消费实时数据并且计算订单的数量和金额,接着将计算的结果缓存至redis中。

具体的实现如下:

  1. 通过spout获取外部数据源,这里我定义了一个主类用于storm和kafka集群连接;

2.对获取的订单进行解析,生成一个对象,这里定义了一个orderinfo的javabean;

3.将javabean里面计算的结果缓存至redis,核心代码如下;

storm+kafka+redis的实时订单流

基本工程已经调试完毕,来看看实际效果,启动storm和kafka集群,redis服务。

在redis中,已经缓存商品实时变化的数据结果。




以上是关于storm+kafka+redis的实时订单流的主要内容,如果未能解决你的问题,请参考以下文章

Flume+Kafka+Storm+Redis实时分析系统基本架构

Flume和Kafka

互联网+技术Flume+Kafka+Storm+Redis实时分析系统基本架构

Flume和Kafka

大数据入门第十八天——kafka整合flumestorm

Flume+Kafka+Storm+Redis 大数据在线实时分析