卡盟网站怎么做图片,网站推广人员怎么算业绩,wp怎么做双语网站,wordpress 一直崩溃前段时间做了一个订单单量监控的项目,已经投入使用了,现在总结一下 前期的想法参考这篇文章 整体使用了storm实时计算框架和redis数据库,还有kafka消息队列
先上效果图,我们可以后期将数据展示出来,明显发现某天00点有单量突变的情况,明显是促销活动导致单量增加了 而后面的报…前段时间做了一个订单单量监控的项目,已经投入使用了,现在总结一下 前期的想法参考这篇文章 整体使用了storm实时计算框架和redis数据库,还有kafka消息队列
先上效果图,我们可以后期将数据展示出来,明显发现某天00点有单量突变的情况,明显是促销活动导致单量增加了 而后面的报警也是证实了,单量的非正常变化,确实可以报警出来,最起码的效果是有了
先简单说下整体思路,后面再讲详细实现 1.在页面下单成功的地方跨域调用一次kafka的服务,每成功一单就调一次 2.kafka的服务接到这次调用,发送kafka消息 3.storm服务实时接收这个kafka消息,将消息作为数据源,开始下面的计算 4.引入时间窗口的概念,引入定时器的概念,每隔固定时间统计前一段时间内的单量 5.拿这段时间内的订单量和存在redis中的预测数据对比,是否报警 5.将这段时间的单量,结合预测算法,计算出下一段时间内的预测值,保存在redis中 6.最后echarts展示redis的数据,并定时刷新
详细实现: 1.有人会有疑问,为什么要在页面发送跨域请求?
因为订单也是分类型的,不同类型的订单,可能完全就是两个不同项目的两套代码;
我们最终要做的,其实就是在订单下单完成后,能够发送一个kafka消息;
如果每个项目都嵌入发送kafka的代码,就存在冗余;
本次项目,是将发送kafka的这个功能,单独抽出来作为一个项目,对外提供http接口;
其他所有下订单的项目,在下单成功后,都统一跨域调用这个http接口;
最终由这个kafka的服务统一发送kafka消息.跨域请求相关知识点,可以参考我的这篇文章jsonp跨域 2.