订单延迟支付告警程序
在本案例中,我们将使用Flink process function原生的状态编程,实现一个电商订单延迟支付告警程序。
主要内容包括:
- 需求描述与分析
- 数据格式描述
- Scala代码参考实现
- Java代码参考实现
- 程序执行结果
需求描述与分析
在电商平台中,有效的订单是用户真正完成支付动作的订单。用户下单的行为可以表明用户对商品的需求,但在现实中,并不是每次下单都会被用户立刻支付。当拖延一段时间后,用户支付的意愿会降低。
所以为了让用户更有紧迫感从而提高支付转化率,同时也为了防范订单支付环节的安全风险,电商网站往往会对订单状态进行监控,设置一个失效时间(比如 15 分钟),如果下单后一段时间仍未支付,订单就会被取消。
此时需要给用户发送一个信息提醒用户,提高支付转换率!
上述需求问题可以简化成:在pay事件超时未发生的情况下,输出超时报警信息。
思路如下:
- 在订单的create事件到来后注册定时器,15分钟后触发;
- 用一个布尔类型的 ValueState来作为标识位,表明pay事件是否发生过;
- 如果pay事件已经发生,状态被置为true,那么就不再需要做什么操作;
- 而如果pay事件一直没来,状态一直为false,到定时器触发时,就应该输出超时报警信息。
示例数据
我们提供的样例数据,位于PBLP平台的~/data/flink/目录下。< ......
......
抱歉,只有登录会员才可浏览!会员登录