【实时计算架构系列1】WePay如何基于谷歌云平台(GCP)和kafka实现实时流式欺诈检测


原文:https://cloud.google.com/blog/big-data/2017/08/how-wepay-uses-stream-analytics-for-real-time-fraud-detection-using-gcp-and-apache-kafka

By Wei Li, Lead Engineer at WePay


首先,wepay反欺诈场景:交易欺诈

需要提取的特征例如:过去3个月交易总金额,过去5分钟该信用卡交易的次数,对方过去5个月平均花费金额等。

典型的规则例如:如果过去一分钟交易了10000美金,并且每笔都是50美元,则很可能是欺诈行为。

显然,识别与检测时间越短,越可以减少损失。

为此,wepay对于新系统的期望包括如下3个方面:

1)实时/近实时相应

2)遇到故障的快速恢复能力

3)方便支持ad hoc查询而不需要编写代码

于是,wepay设计包含4层的高度抽象的逻辑系统:

1)streaming event sources ---》kafka

2)a unified stream/batch aggregation engine----》Cloud Dataflow

3)a persistent store for partial aggregates---》Cloud Bigtable

4)a custom query interface to answer queries against arbitrary time ranges that doesn’t require changes to the pipeline

【实时计算架构系列1】WePay如何基于谷歌云平台(GCP)和kafka实现实时流式欺诈检测_第1张图片

为了实现最后一步,wepay设计了一套通用的指标系统。


为什么选用bigtable?

场景是写入一次,多次查询,并且在时间维度数据量单调递增。因此,需要一个垂直方向可以扩展、超低读延迟,写入高吞吐量的数据库。

bigtable设计

为了支持不同的时间粒度,需要建立不同的列族。Rowkey由两部分组成:指标维度+时间戳,如下所示:

【实时计算架构系列1】WePay如何基于谷歌云平台(GCP)和kafka实现实时流式欺诈检测_第2张图片







你可能感兴趣的:(实时计算架构)