[13章]Flink 从0到1实战实时风控系统
学习地址1:https://pan.baidu.com/s/1lB-ocUdSV_wan7KLPQE01A 提取码:4ieb
学习地址2:https://pan.baidu.com/s/1Op81Pp4HvzE0ifEOAIwPiw 提取码:03nj
Flink 从0到1实战实时风控系统视频教程2023,Flink是一个分布式流处理框架,提供了高性能、低延迟、可靠性等特性,适合处理大规模数据流。在基于Flink的风控系统中,通常需要使用一些数据处理和机器学习相关的库,例如Flink-ML(机器学习库)、Flink-Kafka(Kafka流数据处理库)、Flink-Table(数据表查询库)等。需要根据实际需求选择合适的技术栈,充分利用Flink的优势。
以下是使用Flink进行风控系统开发的一些技术栈参考:
Flink-ML:提供了多种机器学习算法和工具,例如线性回归、决策树、随机森林、支持向量机等。可以用于建立模型进行用户行为分析和风险预测等。
Flink-Kafka:提供了对Kafka数据源的支持,包括数据读取、写入和转换等操作。在风控场景中,可以使用Flink-Kafka集群进行数据转发和存储,将数据从一个或多个数据源获取,并存储到目标系统中。
Flink-Table:提供了对数据表的支持,包括SQL查询、实时更新和缓存等操作。在风控场景中,可以使用Flink-Table对数据处理和分析,将数据从一个或多个数据源获取和处理,并将结果输出到目标系统中。
Flink-Stream:提供了对实时数据流的计算和分析的支持,包括事件驱动、窗口查询和流式计算等操作。在风控场景中,可以使用Flink-Stream对实时数据流进行实时检测和分析,实现实时的风控预测和决策。
b.计数方式的选择:
目前能想到的会有:
mysql+db事务 持久化、记录可溯源、实现起来比较麻烦,稍微“重”了一点
redis+lua 实现简单,redis的可执行lua脚本的特性也能满足对“事务”的要求
mysql/redis+分布式事务 需要上锁,实现复杂,能做到比较精确的计数,也就是真正等到代码块执行成功之后,再去操作计数。
//简化版代码
@Component
class DetectManager {
fun matchExceptionally(eventId: String, content: String){
//调用规则匹配
val rt = ruleService.match(eventId,content)
if (!rt) {
throw BaseException(ErrorCode.OPERATION_TOO_FREQUENT)
}
}
}