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

关注公众号「后端搬运工」《基于准实时规则引擎的业务风控实践

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

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

挑战性

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

目标

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

总体架构

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

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

业务服务

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

系统引擎

  • 规则引擎:策略规则解析执行,选用 B 站开源的 gengine(golang) 规则引擎;
  • 大数据计算引擎:实时在线或离线计算业务指标数据,选用 Flink + Kafka 流计算引擎,指标数据存储在 Redis(数据异构)。各云厂商提供相应服务,如腾讯云流计算 Oceanus;

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

存储:

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

系统工作流程

包含 3 个数据流。

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

完整内容请前往原文,公众号「后端搬运工」基于准实时规则引擎的业务风控实践

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!