首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

storm+kafka+redis的实时订单流

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

实时数据如何获取;

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

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

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

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

具体的实现如下:

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

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

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

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

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

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180327G1TSHZ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券