# Flink从0到1实战实时风控系统课程

*Published:* 2024-06-11
*Author:* 客服001

#### 温馨提醒

如果文章内容或图片资源失效，请留言反馈，我们会及时处理，谢谢

本文最后更新于2024年12月29日，已超过 180天没有更新



**Flink 核心技能实操 + 亿级数据性能调优 + Groovy 动态规则引擎实践 进阶大数据开发高手。**

**将学到：**

1\. 提升架构设计思维与能力

4\. 构建 Flink 核心技能体系

2\. 积累亿级数据实时处理经验

5\. 实践 Flink 动态规则引擎

3\. 具备生产环境故障处理能力

6\. 解锁Flink 生态框架整合技巧

[![](https://www.xarjtc.com/wp-content/uploads/2024/06/4843e6306923ec4.webp)](https://www.xarjtc.com/wp-content/uploads/2024/06/4843e6306923ec4.webp)

**简介：**

> 黑灰产问题日益突出的当下，“风控”已经成为大多数公司的基础业务之一。能够设计并架构风控体系，是大数据工程师的重要竞争力。课程将基于 Flink+ Groovy 构建风控系统，以生产视角带你掌握风控体系设计的核心要素、Flink 实用技能、优化技巧、故障处理策略等高阶技能，并融合贯通运用到实际工作中，助力提升你的架构设计思维和代码实践能力，少走弯路，加速职业发展。

**适合人群**

大数据开发者

Java 开发者

对 Flink 感兴趣的研究者

**技术储备**

熟悉 Java 基础语法

熟悉 Springboot 基本操作

了解大数据组件基础操作

**环境参数**

Flink 1.14.5

Clickhouse 21.1.9.41

Springboot 2.6.11

Docker 23.0

Redis 6.2.1

**课程目录：**

第1章 课程介绍与学习指南

4 节｜31分钟

展开

视频：

1-1 这是一门帮你进阶的好课

试看

14:51

视频：

1-2 风控项目对于个人职业能力的提升

试看

03:58

视频：

1-3 课程设计的思路以及所涵盖的知识点

06:43

视频：

1-4 推荐几个课程项目使用的开发工具

04:38

第2章 风控项目需求

5 节｜48分钟

收起

视频：

2-1 羊毛党利用群控和接码平台薅尽羊毛

06:00

视频：

2-2 优惠券场景下被薅羊毛的业务逻辑漏洞复盘

05:33

视频：

2-3 基于领域驱动分析优惠券场景下风控的架构设计

10:25

视频：

2-4 基于领域驱动设计的代码目录分层架构思路

18:28

视频：

2-5 优惠券场景下的风控规则和阙值确定

07:08

第3章 风控引擎架构设计及项目演示

5 节｜46分钟

收起

视频：

3-1 风控引擎架构的设计思路

14:17

视频：

3-2 画出风控引擎的系统架构图

试看

11:36

视频：

3-3 风控规则引擎选用Groovy的原因

08:53

视频：

3-4 风控引擎整体技术栈以及版本

08:32

视频：

3-5 亿级行为数据集提供的不同类型的羊毛党人数分布

02:14

第4章 风控引擎组件基础知识准备

17 节｜193分钟

展开

视频：

4-1 本章重点和难点

03:27

视频：

4-2 理解Flink数据流编程模型

14:59

视频：

4-3 代码演示Flink以流批两种方式实现wordcount（上）

16:59

视频：

4-4 代码演示Flink以流批两种方式实现wordcount（下）

11:29

视频：

4-5 通过有界流和无界流延伸理解Flink批流一体架构

16:19

视频：

4-6 理解Flink4大基石之状态机制

14:34

视频：

4-7 代码演示Flink基于状态计算实现wordcount（上）

13:10

视频：

4-8 代码演示Flink基于状态计算实现wordcount（下）

19:07

视频：

4-9 理解Flink4大基石之窗口机制

14:47

视频：

4-10 通过大白话通俗的去理解Flink4大基石之时间机（上）

09:19

视频：

4-11 通过大白话通俗的去理解Flink4大基石之时间机（中）

05:25

视频：

4-12 通过大白话通俗的去理解Flink4大基石之时间机（下）

07:01

视频：

4-13 初步认识Flink的Cep模式匹配

08:20

视频：

4-14 理解Flink4大基石之checkpoint机制（上）

11:47

视频：

4-15 理解Flink4大基石之checkpoint机制（中）

05:17

视频：

4-16 理解Flink4大基石之checkpoint机制（下）

08:09

视频：

4-17 本章总结

12:46

第5章 基础设施搭建--环境搭建及单元测试

13 节｜115分钟

展开

视频：

5-1 本章重点和难点

01:45

视频：

5-2 画出项目结构图

09:59

视频：

5-3 基于docker的一键式搭建项目环境

08:20

图文：

5-4 【梳理】项目环境搭建步骤

视频：

5-5 Springboot基于Maven多模块构建项目

15:32

视频：

5-6 基于Junit5+MockMvc的单元测试用例编写（上）

15:11

视频：

5-7 基于Junit5+MockMvc的单元测试用例编写（下）

17:01

视频：

5-8 Flink流计算的单元测试用例编写（上）

14:50

视频：

5-9 Flink流计算的单元测试用例编写（下）

15:22

视频：

5-10 基于maven-helper插件解决依赖冲突异常

06:09

图文：

5-11 【拓展】简历植入重点及本章涉及面试知识点

图文：

5-12 【作业】本章作业

视频：

5-13 本章总结

10:33

第6章 基础设施搭建--springboot工具类封装

14 节｜178分钟

展开

视频：

6-1 本章重点和难点

02:03

视频：

6-2 Springboot封装基于FastJson2的json工具类（上）

12:16

视频：

6-3 Springboot封装基于FastJson2的json工具类（中）

10:13

视频：

6-4 Springboot封装基于FastJson2的json工具类（下）

11:31

视频：

6-5 基于LocalDate封装时间工具类+自动生成测试类（上）

14:38

视频：

6-6 基于LocalDate封装时间工具类+自动生成测试类（下）

09:08

视频：

6-7 Springboot集成slf4j+log4j2（上）

15:24

视频：

6-8 Springboot集成slf4j+log4j2（下）

12:39

视频：

6-9 Springboot封装自定义异常+全局异常的工具类

16:55

视频：

6-10 封装Lettuce+RedisTemplate读写Redis集群（上）

17:18

视频：

6-11 封装Lettuce+RedisTemplate读写Redis集群（中）

16:58

视频：

6-12 封装Lettuce+RedisTemplate读写Redis集群（下）

11:48

视频：

6-13 Springboot封装Hbase工具类

18:18

视频：

6-14 本章总结

07:59

第7章 基础设施搭建--flink工具类封装

12 节｜172分钟

展开

视频：

7-1 本章重点和难点

01:14

视频：

7-2 Flink使用ParameterTool读取配置

14:59

视频：

7-3 基于巴希尔(Bahire)-Flink写入Redis集群（上）

18:37

视频：

7-4 基于巴希尔(Bahire)-Flink写入Redis集群（下）

11:24

视频：

7-5 Flink通过富函数类实现自定义Source

19:44

视频：

7-6 Flink自定义Source读取Redis集群（上）

15:24

视频：

7-7 Flink自定义Source读取Redis集群（下）

14:13

视频：

7-8 Flink自定义Source读取ClickHouse

17:50

视频：

7-9 Flink使用JDBC-Connector+预编译批量写入ClickHouse（上）

12:56

视频：

7-10 Flink使用JDBC-Connector+预编译批量写入ClickHouse（下）

13:34

视频：

7-11 Flink TableSQL Api + 表转流读取Mysql

21:02

视频：

7-12 本章总结

10:14

第8章 风控数据流入口--事件接入中心

18 节｜230分钟

展开

视频：

8-1 本章重点和难点

02:16

视频：

8-2 风控事件接入中心架构搭建思路

06:10

视频：

8-3 事件中心的数据格式

04:42

视频：

8-4 Flume监听目录将行为事件数据写入Kafka

05:50

视频：

8-5 Flink1.14使用全新的Kafka Connector读取Kafka

18:46

视频：

8-6 Flink1.14自定义反序列化消费Kafka Json格式数据

16:33

视频：

8-7 ClickHouse存储用户行为路径序列的表设计思路

13:24

视频：

8-8 ClickHouse拉取Kafka Json格式的用户行为数据

05:59

视频：

8-9 ClickHouse将用户行为聚合为行为路径序列

16:03

视频：

8-10 ClickHouse对用户行为序列进行路径挖掘找出羊毛客（上）

14:34

视频：

8-11 ClickHouse对用户行为序列进行路径挖掘找出羊毛客（下）

15:42

视频：

8-12 ClickHouse对用户行为维度指标存储的表设计思路

07:34

视频：

8-13 Flink Job的Checkpoint, State配置以及并行度的合理数量（上）

14:24

视频：

8-14 Flink Job的Checkpoint, State配置以及并行度的合理数量（下）

16:08

视频：

8-15 Flink对Kafka数据清洗并转化为POJO对象

16:16

视频：

8-16 Flink对事件数据流添加水印保证事件行为的有序性

17:27

视频：

8-17 Flink基于滑动窗口每5分钟统计用户最近1小时的登录频率

20:32

视频：

8-18 Flink aggregate统计用户最近1小时登录频率的聚合操作

17:37

第9章 风控规则判断依据--指标计算模块

14 节｜189分钟

展开

视频：

9-1 本章重点和难点

02:06

视频：

9-2 风控指标的构成以及指标存储的设计思路

08:36

视频：

9-3 基于滑动窗口思想的风控指标采样思路

07:49

视频：

9-4 基于Redis快速获取风控指标采样的思路

21:49

视频：

9-5 风控指标在Redis唯一id的设计思路

06:34

视频：

9-6 Flink和POJO对象之间的关系

17:02

视频：

9-7 基于Flink实现的指标通用聚合计算框架思路

10:14

视频：

9-8 基于Flink实现的指标通用聚合计算框架初步结构

21:19

视频：

9-9 运营后台自定义指标聚合计算规则

04:01

视频：

9-10 Flink通过单独线程读取指标聚合计算规则

16:25

视频：

9-11 将指标聚合计算规则写入到事件流传播给下游算子思路

19:19

视频：

9-12 进一步细化运营后台的指标聚合计算规则自定义

10:19

视频：

9-13 通过反射机制将指标聚合计算规则写入到事件流

21:48

视频：

9-14 keyBy算子根据指标聚合计算规则进行分组

20:53

第10章 风控系统核心--规则引擎

15 节｜219分钟

展开

视频：

10-1 本章重点和难点

01:09

视频：

10-2 window算子根据指标聚合计算规则将事件分配到对应窗口

26:08

视频：

10-3 根据指标聚合计算的规则进行增量聚合计算

28:35

视频：

10-4 aggregate算子根据指标聚合计算的规则进行结果输出

22:07

视频：

10-5 Kafka工具类直接返回事件流以及配置带环境的配置信息

21:08

视频：

10-6 风控规则的Mysql表设计思路及运营后台配置

08:49

视频：

10-7 风控规则的条件判断表达式解析的方案

06:46

视频：

10-8 Aviator引擎的表达式运算及自定义函数

21:38

视频：

10-9 Aviator引擎应用于风控规则条件的判断

14:09

视频：

10-10 Flink自定义生成规则事件流

11:56

视频：

10-11 Flink将规则事件流广播到行为事件流

11:48

视频：

10-12 行为事件流读取规则事件流中的风控规则（1）

14:57

视频：

10-13 行为事件流读取规则事件流中的风控规则（2）

13:51

视频：

10-14 对行为事件使用对应的规则进行风控判断

10:53

视频：

10-15 本章总结

04:41

第11章 实时风控--动态规则实现

16 节｜185分钟

展开

视频：

11-1 本章重点和难点

01:43

视频：

11-2 哪种类型的风控规则适合实时计算以及实时判定

03:04

视频：

11-3 Flink-Cep开发流程及模式匹配

17:14

视频：

11-4 Flink-Cep检测最近1分钟登录失败超过阈值的用户

21:43

视频：

11-5 Flink-Cep以严格近邻的模式检测连续登录失败的用户

13:23

视频：

11-6 Flink-Cep基于迭代条件检测最近15分钟IP频繁变化的用户

19:20

视频：

11-7 Flink-Cep检测具有明显薅羊毛特征行为路径的用户

06:47

视频：

11-8 Flink-Cep对匹配事件的提取并且输出到事件流

17:37

视频：

11-9 Flink-Cep基石 NFA状态转移流程

07:31

视频：

11-10 为什么选择Groovy生成Flink-Cep Pattern对象

06:35

视频：

11-11 Java集成Groovy之执行Groovy脚本

07:05

视频：

11-12 Java集成Groovy之从指定位置加载Groovy脚本

10:57

视频：

11-13 Java集成Groovy之调用Groovy脚本的自定义类

10:51

视频：

11-14 Groovy能动态加载脚本的底层原理

13:09

视频：

11-15 Flink-Cep基于Groovy脚本动态加载Pattern

20:23

视频：

11-16 Groovy动态加载脚本频繁触发Full GC 的解决方案

07:09

第12章 风控引擎部署--单元测试

8 节｜97分钟

展开

视频：

12-1 总结风控引擎涉及的Flink任务

06:52

视频：

12-2 风控运营后台最终定稿版

11:36

视频：

12-3 总结Flink-Cep和DataStream Api进行风控的不同使用场景

04:02

视频：

12-4 测试Flink-Cep检测登录失败超过阈值的用户

17:35

视频：

12-5 测试Flink-Cep检测连续事件序列的用户

19:34

视频：

12-6 测试Flink-Cep基于Groovy脚本加载Pattern-

07:20

视频：

12-7 通过运营后台动态修改Flink-Cep Pattern参数

09:21

视频：

12-8 使用通义灵码和MybatisPlus3.5+ 自动生成CRUD

20:12

第13章 风控引擎部署--打包部署

13 节｜152分钟

收起

视频：

13-1 部署定时任务 模拟源源不断的行为事件流

04:55

视频：

13-2 部署定时任务 ClickHouse将用户每小时的行为事件归档

03:30

视频：

13-3 补充 Flink-CDC的底层原理

06:14

视频：

13-4 补充 Flink-CDC实时捕获Mysql数据变更

20:06

视频：

13-5 补充 Flink-CDC自定义反序列化

18:33

视频：

13-6 部署风控规则 Flink-CDC监听规则表

11:59

视频：

13-7 补充 Flink 双流Join

12:24

视频：

13-8 部署风控规则 通过Join对规则组信息进行维度补充

06:46

视频：

13-9 部署风控规则 广播规则使得行为事件携带规则组

10:35

视频：

13-10 部署风控规则 遍历规则组产生冗余行为事件并规则判断

06:49

视频：

13-11 部署动态cep Flink不停机动态加载 cep 风控规则的方案

16:00

视频：

13-12 部署动态cep 修改cep源码注入动态获取Pattern的方法

15:20

视频：

13-13 部署动态cep 修改cep源码构造新的NFA进行事件匹配

18:00

第14章 风控引擎部署--压测优化

4 节｜10分钟

展开

视频：

14-1 Flink背压的表现

01:30

视频：

14-2 Flink流量压测方法

01:50

视频：

14-3 Flink背压告警以及造成的影响

05:02

视频：

14-4 Flink背压解决方案

01:12

本课程已完结