[13章]Flink 从0到1实战实时风控系统
学习地址1:https://pan.baidu.com/s/17tHskx2mA0OS-mNuTiQNbA 提取码:vvas
学习地址2:https://pan.baidu.com/s/1y3BvnD6DMKpSB0eEurpSSg 提取码:o7au
Flink 从0到1实战实时风控系统课程下载2023
需要解决的问题
哪些是风险事件,注册、登录、交易、活动等事件,需要业务埋点配合提供实时数据接入
什么样的事件是有风险的,风险分析需要用到统计学,对异常用户的历史数据做统计分析,找出异于正常用户的特征
实时性,风险事件的分析必须毫秒级响应,有些场景下需要尽快拦截,能够给用户止损挽回损失
低误报,这需要人工风控经验,对各种场景风险阈值和评分的设置,需要长期不断的调整,所以灵活的规则引擎是很重要的
支持对历史数据的回溯,能够发现以前的风险,或许能够找到一些特征供参考
项目标签
轻量级,可扩展,高性能的Java实时业务风控系统
基于Spring boot构建,配置文件能少则少
使用drools规则引擎管理风控规则,原则上可以动态配置规则
使用redis、mongodb做风控计算和事件储存,历史事件支持水平扩展
基于 Flink 构建风控系统
风控是一个很大的话题,涉及到规则引擎、NoSQL DB、CEP 等等,本章主要讲一些风控的基本概念。在大数据侧,我们把风控划分成 3 × 2 的关系:
2 代表风控要么是基于规则的,要么是基于算法或模型的;
3 代表包括三种风控类型:事先风控、事中风控和事后风控。
对于事中风控和事后风控来讲,端上的感知是异步的,对于事先风控来讲,端上的感知是同步的。
对于事先风控这里稍做一些解释,事先风控是把已经训练好的模型或者把已经计算好的数据存在 Redis 、MongoDB 等数据库中;
一种方式是端上有类似 Sidden 、Groovy 、Drools 这样的规则引擎直接去 Redis 、MongoDB 取数据来返回结果;
另外一种方式是基于 Kubeflow KFserving ,端上请求过来之后基于训练好的算法和模型返回结果。
整体来讲这两种方式的时延都在 200 毫秒左右,可以作为一个同步的 RPC 或 HTTP 请求。
对于 Flink 相关的大数据场景是一个异步的风控请求,它的异步时效性非常低,通常是一秒或者两秒。如果追求超低时延,则可以认为它是一种事中的风控,风控决策过程可以由机器介入处理。
很常见的一种类型是用 Flink SQL 做指标阈值的统计、用 Flink CEP 做行为序列规则分析,还有一种是用 Tensorflow on Flink ,在 Tensorflow 中进行算法描述,然后用 Flink 来执行 Tensorflow 规则的计算。