公司到底需不需要引入实时计算引擎?
2021-01-15 本文已影响0人
you的日常
实时计算需求
大数据发展至今,数据呈指数倍的增长,对实效性的要求也越来越高,所以你可能接触到下面这类需求会越来越多。
小田,你看能不能做个监控大屏实时查看促销活动销售额(GMV)?
小朱,搞促销活动的时候能不能实时统计下网站的 PV/UV 啊?
小鹏,我们现在搞促销活动能不能实时统计销量 Top5 啊?
小李,怎么回事啊?现在搞促销活动结果服务器宕机了都没告警,能不能加一个?
小刘,服务器这会好卡,是不是出了什么问题啊,你看能不能做个监控大屏实时查看机器的运行情况?
小赵,我们线上的应用频繁出现 Error 日志,但是只有靠人肉上机器查看才知道情况,能不能在出现错误的时候及时告警通知?
小夏,我们 1 元秒杀促销活动中有件商品被某个用户薅了 100 件,怎么都没有风控啊?
小宋,你看我们搞促销活动能不能根据每个顾客的浏览记录实时推荐不同的商品啊?
……
那这些场景对应着什么业务需求呢?我们来总结下,大概如下:
![](https://img.haomeiwen.com/i1940331/e0181e2587f5a87a.jpg)
初看这些需求,是不是感觉很难?那么我们接下来来分析一下该怎么去实现?
从这些需求来看,最根本的业务都是需要实时查看数据信息,那么首先我们得想想如何去采集这些实时数据,然后将采集的实时数据进行实时的计算,最后将计算后的结果下发到第三方。
数据实时采集
就上面这些需求,我们需要采集些什么数据呢?
- 买家搜索记录信息
- 买家浏览的商品信息
- 买家下单订单信息
- 网站的所有浏览记录
- 机器 CPU/MEM/IO 信息
- 应用日志信息
数据实时计算
采集后的数据实时上报后,需要做实时的计算,那我们怎么实现计算呢?
- 计算所有商品的总销售额
- 统计单个商品的销量,最后求 Top5
- 关联用户信息和浏览信息、下单信息
- 统计网站所有的请求 IP 并统计每个 IP 的请求数量
- 计算一分钟内机器 CPU/MEM/IO 的平均值、75 分位数值
- 过滤出 Error 级别的日志信息
数据实时下发
实时计算后的数据,需要及时地下发到下游,这里说的下游代表可能是以下几项。
1. 告警方式(邮件、短信、钉钉、微信)