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

WePay利用谷歌云平台(GCP)和Apache Kafka构建了一个实时流式欺诈检测系统。系统设计包含四层逻辑:流事件源到Kafka、统一的流/批处理引擎、部分聚合持久存储和自定义查询接口。通过Cloud Dataflow进行聚合,Cloud Bigtable作为部分聚合的持久存储,以支持ad hoc查询。选用Bigtable是因为其适合写一次、多查询的场景,具备低读延迟和高写入吞吐量特性,尤其适用于时间序列数据的存储。
摘要由CSDN通过智能技术生成


原文: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


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


为什么选用bigtable?

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

bigtable设计

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








滴滴出行作为全球最大的移动出行平台,每天收集和需要分析处理的数据量非常大。这些数据形式多样:既包括存储于数据库中的业务数据,也包括各种API请求所记录的文本日志。此外,更大的挑战在于业务上需要我们实时的分析处理如此大规模的数据。从数据生成到可被分析查询,系统延迟在秒级。我们选用Druid/Samza/Kafka/Spark/Hadoop等开源技术栈,开发了符合Lambda architecture的OLAP系统。本次演讲我们以滴滴大数据实时监控系统为例,介绍滴滴实时计算系统架构所面临的挑战及相应解决方案。 滴滴大数据实时监控系统服务于滴滴各个业务线,对关键业务指标的变化进行实时监控。研发、产品、运营人员可以据此及时了解业务现状,发现系统问题、调整业务决策。 演讲主要包括以下话题: 1. 实时计算的挑战及解决方案: (1)可扩展性 (2)有状态的实时计算 (3)数据被重复处理 (4)高可用 (5)实时数据流与外部系统或服务关联计算 2. OLAP系统架构选型:KV store与column store 哪种存储更适合OLAP应用? 3. 简要介绍Kafka的特性,阐述为何Kafka实时计算系统中理想的数据存储方案 4. 详细介绍Druid的架构设计及原理,阐述Druid作为OLAP解决方案的优点 5. 详细介绍Samza的架构设计及原理,阐述如何通过Samza解决实时计算中的各种挑战 6. 介绍Lambda architecture,阐述如何将离线计算实时计算统一起来,通过离线计算来修正实时计算
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值