订单单量监控v2

前段时间做了一个订单单量监控的项目,已经投入使用了,现在总结一下
前期的想法参考这篇文章
整体使用了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.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/499983.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AFNetworking 3.0迁移指南

AFNetworking是一款在OS X和iOS下都令人喜爱的网络库。为了迎合iOS新版本的升级, AFNetworking在3.0版本中删除了基于 NSURLConnection API的所有支持。如果你的项目以前使用过这些API,建议您立即升级到基于 NSURLSession 的API的AFNetworking的版本。本指南将引导您…

想法记录---实时计算的TopN的实现

TopN就是找出时间段内出现频率最高的n个 TopN的计算是个老生常谈的话题,比如微博的热搜,都是隔段时间就统计一次TopN 现在想做一个实时计算的TopN. 先说说离线计算的TopN,再说实时TopN 离线TopN 离线TopN一般出现在大数据的应用场景,使用hadoop的map reduce,网上有很多案例 …

iOS中的MVC设计模式

一、MVC概述模型-视图-控制器(MVC)是Xerox PARC在二十世纪八十年代为编程语言Smalltalk-80发明的一种软件设计模式,已被广泛使用。后来被推荐为Oracle旗下Sun公司Java EE平台的设计模式,并且受到…

java 时间的相关转换操作

关于时间的操作,写了个util 主要用于预测的时候,时间段的确定 预测的时间段,需要明确的规定范围,由于业务的促销都是整点开始,所以我们的预测时间段,也是从整点开始 所以就要将时间分为多个整段,比如一分钟一段,那么就是2018-06-18 00:00:00 到2018-06-18 00:01:00 就是一段 那…

iOS-MVVM-模式介绍

一、MVVM概述 MVVM 到底是什么?我们首先看一下MVC架构:我们看到的是一个典型的 MVC 设置。Model 呈现数据,View 呈现用户界面,而 View Controller 调节它两者之间的交互。Cool!稍微考虑一下,虽然 View 和 …

[数据库]---mysql数据库 使用binlog+canal或binlake进行数据库的复制

前言 在进行冷热分离的时候,需要将数据实时的复制在历史数据库中,我们使用的是binlogcanal的思想,将每次数据库数据的变更转换成消息发出来,然后再操作这些消息达到数据复制的 在京东,实现同样功能的组件,叫binlake 接下来详细说下: 1.Binl…

加密算法概念简介--MD5、SHA、DES、3DES、AES、RSA、ECC

MD5MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。将数据(如汉字&…

MAC下配置ZSH

MAC下面的终端是神器。而且苹果非常贴心的为我们准备好了ZSH。 可惜ZSH不是很好用,需要配合一些插件和模板:oh-my-zsh将bash切换为zsh chsh -s /bin/zsh其实还可以用which来定位(特别是ubuntu的童鞋) chsh -s which zsh 直接用zsh…

搭建: canal部署与实例运行

搭建: canal部署与实例运行 数据库读log同步用 详见下面

MAC下使用OpenSSL生成私钥和公钥

MAC OS自带了OpenSSL,直接在命令行里使用OPENSSL就可以。打开命令行工具,然后输入 openssl打开openssl,接着只要三句命令就可以搞定。1、打开Terminal--cd 到指定文件夹,如桌面Mac:~/Desktop $ openssl2、第一句命令:生成私钥&…

idea插件开发(01)---最简单的helloworld版,不需要知道原理,先跟我做一个最简单的弹框插件

前言 用了那么多idea插件,也想自己做一个插件,下面就是入门版本 你不需要先知道所有的概念,先跟着我的步骤做一个小;例子,后面再说原理 相关概念看后面一篇 本次以windos系统为例 开始 1.你得安装一个环境,供idea插件的开发使用 下载地址: https://www.jetbrains.com/idea/…

苹果封装的对称加密和非对称加密API

一、信息摘要算法5&#xff1a;MD51.系统库位置&#xff1a;<CommonCrypto/CommonHMAC.h>。2.非加密算法&#xff0c;属于哈希散列&#xff0c;不可逆&#xff0c;用于检验数据完整性。二、安全散列(哈希)算法SHA&#xff1a; 1.包含的散列算法&#xff1a;SHA-1&#xf…

RSA算法原理

一、RSA算法数论&#xff1a;将两个大素数相乘十分容易&#xff0c;但是想要对其乘积进行因式分解却极其困难&#xff0c;因此可以将乘积公开作为加密密钥。二、RSA算法涉及三个参数&#xff0c;n、e1、e2。三、公私钥生成过程1、首先&#xff0c;需要两个大质数&#xff0c;p和…

idea插件开发(02)---相关概念介绍

上一篇已经介绍了idea插件开发最简单的一个例子 本篇来说说相关概念,部分概念是网上抄的,网友的不同说法,但大致都是同一个意思 1.idea介绍 idea整个组件结构是基于PicoContainer的,他是一个嵌入式的Ioc容器,有点像Spring的容器 我们做的idea插件,作为扩展功能组件,可以添加到…

ECC椭圆曲线加密算法原理

比特币使用椭圆曲线算法生成公钥和私钥&#xff0c;选择的是secp256k1曲线。与RSA&#xff08;Ron Rivest&#xff0c;Adi Shamir&#xff0c;Len Adleman三位天才的名字&#xff09;一样&#xff0c;ECC&#xff08;Elliptic Curves Cryptography&#xff0c;椭圆曲线加密&…

mysql报错 DuplicateKeyException分析与解决

在做数据库同步的时候,发现一个错误,mysql报错如下: org.springframework.dao.DuplicateKeyException: ### Error updating database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException:XXX ### The error may involve com.jd.medicine.b2…

[运维]---linux机器一般监控用到的概念记录

发布在linux上的机器,一般我们需要监测各项数据来证实服务器是没问题的, 如果出现问题,我们也可以通过以下指标找到问题的方向 容器指标硬件指标磁盘指标系统指标网络指标 容器指标 线程数 -当前容器内线程总数&#xff08;平均到每个核的线程数&#xff09;进程数 -当前容器…

SHA算法原理

一、SHA1算法简介 安全哈希算法&#xff08;Secure Hash Algorithm&#xff09;主要适用于数字签名标准&#xff08;Digital Signature Standard DSS&#xff09;里面定义的数字签名算法&#xff08;Digital Signature Algorithm DSA&#xff09;。对于长度小于2^64位的消息&am…

[数据库]---mysql 插入sql之 INSERT INTO和INSERT IGNORE INTO和REPLACE INTO和ON DUPLICATE KEY UPDATE比较应用

mysql插入一条数据方式有四种,接下来逐个说明验证: 前提: 有一个表,作为本次测试: CREATE TABLE zs_test (id int(11) NOT NULL AUTO_INCREMENT,order_id int(11) DEFAULT NULL,name varchar(255) DEFAULT NULL,PRIMARY KEY (id),UNIQUE KEY order_id_index (order_id) ) EN…

DES加密算法原理

一、DES算法理论 本世纪五十年代以来&#xff0c;密码学研究领域出现了最具代表性的两大成就。其中之一就是1971年美国学者塔奇曼 &#xff08;Tuchman&#xff09;和麦耶&#xff08;Meyer&#xff09;根据信息论创始人香农&#xff08;Shannon&#xff09;提出的「多重加密有…