window:golang滑动或翻滚窗口流处理
window
背景
在我们业务开发中,经常遇到类似"用户当天累计消费金额"、"用户最近三天消费金额"等统计的需求。
本质上来说,这都是窗口统计(第一种是窗口大小为一天的滚动窗口,第二种是窗口大小为3天,滑动大小为一天的滑动窗口)。
通常,我们可以保存所有的消费记录到MySQL,然后通过MySQL的查询,来统计出来。
但是,如果数据量非常大,且访问量非常高,MySQL无法支撑起线上业务如此庞大的实时查询,我们该如何实时的统计出用户时间窗口内的值呢?
Flink提供了非常丰富的窗口算子,利用Flink提供的API,就可以非常简单的完成窗口计算。
但是,很多业务都是非Java业务。另外为了一个简单的统计功能,引入非常复杂的Flink,实现过于重。
那么,有没有简洁的方法实现,类似Flink的窗口计算功能呢。
提供了Golang的解决方案。
特点
提供了滑动窗口和滚动窗口算子,让Golang很容