基于准实时规则引擎的业务风控实践

在当今复杂的互联网环境下,我们的系统时时刻刻都暴露在风险(刷单党、羊毛党)的攻击之中,如果我们不采取有效防御措施,那么这些风险就会对业务造成很大的损失。

image.png

用公式可以表达出风控规则和风险数据的系统关系:z=f(x, y) ,f 为系统风控规则,x 为系统实时输入风险数据,y 为系统的事实数据。

挑战性

  • 数据量大,计算延时严重
  • 风控策略多变
image.png

目标

  • 准确及时识别风险
  • 采取有效防御措施

总体架构

基于大数据实时计算可热更新的通用规则引擎,搭建一套业务风控系统。

image.png

业务风险:刷单(订单)、薅羊毛(活动)、恶意注册和异常登录(用户)

业务服务

  • 风控系统:识别业务风险,根据业务或埋点数据判断当前用户或事件有无风险;
  • 惩罚系统:对系统风险操作进行控制或惩罚,如禁止下单、增加验证码、限制登录;
  • 分析系统(管理系统):提供系统管理数据展示分析。系统管理如规则管理,分析业务数据如风险的订单,分析系统指标数据如某策略规则拦截率,以及时修正策略规则;

系统引擎

  • 规则引擎:策略规则解析执行,选用 B 站开源的 gengine(golang) 规则引擎;

  • 大数据计算引擎:实时在线或离线计算业务指标数据,选用 Flink + Kafka 流计算引擎,指标数据存储在 Redis(数据异构)。各云厂商提供相应服务,如腾讯云流计算 Oceanus;

消息中心:各系统之间通过事件驱动,选用 Kafka

存储:

  • MySQL:风控规则等
  • Redis:指标数据
  • Mongo:操作日志、快照等

系统工作流程

image.png

包含 3 个数据流。

  • 实时风控数据流:由红线标识。业务同步调用风控系统,返回风险识别结果,并作相应惩罚,为系统核心链路;
  • 准实时指标数据流:由蓝线标识。大数据计算引擎实时异步写入,准备业务指标数据并存储在 Redis,为系统准实时链路;
  • 准实时/离线分析数据流:由绿线标识。异步写入,生成业务报表和评估风控系统表现的数据,以供进行数据分析;

更多内容请前往「后端搬运工」查看原文。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容