
24
|
第
2
章
传统的欺诈检测模型将包含每张信用卡最后一次刷卡地点的文件直接存储
在数据库中。但在这样的集中式数据库设计中,其他消费者并不能轻易使
用刷卡行为的数据,因为访问数据库可能会影响欺诈检测系统的正常工作;
在没有经过认真仔细的审查之前,其他消费者绝不会被授权更改数据库。
这将导致整个流程变慢,因为必须仔细执行各种检查,以避免核心的业务
功能受到破坏或影响。
与传统方法相比,图
2-4
所示的流处理架构设计将欺诈检测器的输出发送给
外部的消息队列(
Kafka
或
MapR Streams
),再由如
Flink
这样的流处理器
更新数据库,而不是直接将输出发送给数据库。这使得刷卡行为的数据可
以通过消息队列被其他服务使用,例如刷卡行为分析器。上一次刷卡行为
的数据被存储在本地数据库中,不会被其他服务访问。这样的设计避免了
因为增加新的服务而带来的过载风险。
2.4.3
给开发人员带来的灵活性
基于流处理的微服务架构也为欺诈检测系统的开发人员带来了灵活性。假
设开发团队正试图改进欺诈检测模型并加以评估。刷卡行为产生的消息流
可以被新模型采用,而完全不影响已有的检测器。新增加一个数据消费者
的开销几乎可以忽略不计,同时只要合适,数据的历史信息可以保存成任
何一种格式,并且使用任意的数据库服务。此外,如果刷卡行为队列中的
消息被设计成业务级别的事件,而不是数据库表格的更新,那么消息的形
式和内容都会非常稳定。若一定要更改,向前兼容可以避免更改已有的应
用程序。
信用卡欺诈检测只是流处理架构的一个用例。流处理架构通过一个合适的
消息传输系统 ...