Flink动态规则实时智能营销系统

视频地址

简单来说,本系统,核心是一个基于事件驱动且可进行动态规则计算的实时系统;

在技术上,它是通用的;本套架构及系统内核,不仅可以用于“实时运营”,也可以用于“实时风控”,“实时推荐”,“实时交通监控”等场景。

运营场景举例:下单促付款,新品发布信息精准送达;

推送效果.png

动态规则发布管理

本系统可以在线进行规则的灵活定制,新增,修改,发布,停用,无需停机,无需修改代码

规则发布1.png规则发布2.png

实时效果监控

本系统,在核心规则引擎之外,也集成了大量metric及跟踪数据输出,能在系统中及系统外进行多维度数据分析,以深度掌握各类市场运营活动的效果,以及系统运行的各类状态;

扫描二维码关注公众号,回复: 13161481 查看本文章

规则看板.png

系统整体架构

本动态规则实时运营系统,核心技术为flink+kafka+clickhouse+redis+hbase,可以是一个相对独立的大数据系统

也可以整合用户画像系统,用户行为分析系统,实时数仓等;

架构.png

文档截图_opt.jpg

合理设计查询路由,确保响应性能

系统中使用了数据多路查询(hbase,clickhouse,redis等),redis缓存,flink state缓存等设计思想和技术手段,确保整体响应速度在10ms以内;

性能压力_opt.png

查询路由分发模块.jpg

行为次序最大匹配算法-改进版.png

巧妙设计缓存模块,性能再次提升

实时运营系统,要想达到尽可能好的运营效果,时效性要求非常高,本系统的设计目标是基于事件驱动的毫秒级响应

基于这个目标,系统中使用了数据多路查询(hbase,clickhouse,redis等),redis缓存,flink state缓存等设计思想和技术手段,确保整体响应速度在10ms以内

查询分界点设计方案.png

缓存有效.png

sequence类条件查询全流程.jpg缓存有效性机制.png

缓存有效2.png

规则模型抽象,应付多变需求

现实中的各类运营需求,或简单或复杂,但通过模型抽象,可以将任意复杂运营规则化解为有规律可循的一系列原子条件的组合,从而让系统能够以不变应万变

规则抽象.png规则树.png

整合Drools,让运营规则随时可变

商场如战场,机会转瞬即逝,当运营部门有新的活动策划,或者有新的运营创意,随时可以在规则管理平台上新增运营规则,或对已运行的规则进行管理

drools.png

动态规则总架构.png

学习门槛

学习本项目课程,最好提前了解或掌握如下必须技术框架:

  • Flink

  • Hbase

  • Clickhouse

  • Redis

  • Canal

  • Drools

 

 

学习收获

学完本项目课程后,您至少将获得如下提升:

  • 迅速获得flink开发实战技能

  • 迅速积累一个给力的项目经验

  • 迅速获得构建企业级海量数据实时动态规则系统的开发思路

  • 甚至,你获得了一个可以直接在工作中复用的产品源码

更多心得及收获……欢迎学完后一起分享

学习收获

目前已经更新到第6天,剩余视频将陆续上传

DAY01-01.项目背景介绍.mp4

DAY01-02.项目应用场景.mp4

DAY01-03.项目应用场景-实时运营需求举例.mp4

DAY01-04.项目技术开发特性要求.mp4

DAY01-05.项目整体技术架构.mp4

DAY01-06.项目技术架构-规则的抽象模型.mp4

DAY01-07.项目开发模式与原则.mp4

DAY01-08.项目的行为日志数据介绍.mp4

DAY01-09.项目数据模拟-用户行为日志.mp4

DAY01-10.项目数据模拟-用户行为日志模拟器开发-用户规模数据流量推算.mp4

DAY01-11.项目画像系统介绍-标签体系介绍-技术架构介绍-存储表结构介绍.mp4

DAY01-12.项目数据模拟-用户画像标签表生成.mp4

DAY01-13.实时运营系统版本(技术验证demo)开发(1).mp4

DAY01-14.实时运营系统版本(技术验证demo)开发(2).mp4

----

DAY02-01.画像数据的查询性能测试.mp4

DAY02-02.实时运营系统版本V1.0-规则参数条件封装.mp4

DAY02-03.实时运营系统版本V1.0-查询服务的模块设计.mp4

DAY02-04.补充-项目开发中的重要工具:git.mp4

DAY02-05.用户画像数据查询服务模块开发及测试.mp4

DAY02-06.行为次数类条件查询服务开发(1).mp4

DAY02-07.行为次数类条件查询服务开发及测试(2).mp4

DAY02-08.行为次序类条件查询服务-逻辑流程设计.mp4

DAY02-09.行为次序类条件查询服务-开发及测试(2).mp4

DAY02-10.条件查询加入时间范围比较的逻辑改造.mp4

DAY02-11.静态规则实时运营系统版本1主程序开发.mp4

DAY02-12.版本V1.0联调测试.mp4

----

DAY03-01.静态版运营规则系统-V1.0阶段逻辑回顾.mp4

DAY03-02.版本V1.0中序列条件步骤匹配-算法改进.mp4

DAY03-03.版本V1.0中存在的严重问题及解决思路.mp4

DAY03-04.版本V2.0数据环境准备-clickhouse建表-从kafka摄取数据.mp4

DAY03-05.clickhouse查询服务开发-次数类条件sql动态拼接工具开发.mp4

DAY03-06.clickhouse查询服务开发-次数类条件service实现.mp4

DAY03-07.clickhouse查询服务开发-次数类条件查询服务模块测试.mp4

DAY03-08.clickhouse查询服务开发-路径匹配查询sql开发.mp4

DAY03-09.clickhouse查询服务开发-路径匹配service实现.mp4

DAY03-10.clickhouse查询服务测试-路径匹配service测试.mp4

DAY03-11.版本V2.0主代码重构开发.mp4

DAY03-12.版本V2.0核心逻辑再梳理.mp4

DAY03-13.版本V2.0联调测试.mp4

----

DAY04-01.版本V2.0中的问题及改造思路.mp4

DAY04-02.版本V2.0中查询路由模块整体架构.mp4

DAY04-03.跨界查询的具体逻辑设计.mp4

DAY04-04.跨界查询的分界点设计.mp4

DAY04-05.count类条件的查询路由控制实现.mp4

DAY04-06.count类条件查询的clickhouse service添加原子条件查询方法.mp4

DAY04-07.sequence类条件查询的路由控制.mp4

DAY04-08.版本V3.0核心process函数开发.mp4

DAY04-09.版本V3.0主程序开发及联调测试.mp4

DAY04-10.版本v3.0中的性能问题及解决思路.mp4

DAY04-11.引入缓存系统的意义及改善的维度.mp4

DAY04-12.缓存系统的backend技术选型-state_VS_redis.mp4

DAY04-13.redis快速上手.mp4

DAY04-14.redis快速上手-之java操作.mp4

DAY04-15.缓存系统的数据模型设计.mp4

DAY04-16.缓存系统的有效性机制分析及设计.mp4

DAY04-17.缓存管理模块代码开发.mp4

DAY04-18.count类条件的查询路由逻辑加入缓存.mp4

DAY04-19.sequence类条件的查询路由逻辑加入缓存.mp4

DAY04-20.版本V4.0主程序开发及联调测试.mp4

----

DAY05-01.版本V4.0count类条件查询逻辑梳理.mp4

DAY05-02.版本V4.0count条件查询隐秘bug修改-list中删除两个相邻元素.mp4

DAY05-03.版本V4.0序列条件查询逻辑梳理-bug修改.mp4

DAY05-04.版本V4.0序列条件查询逻辑画图.mp4

DAY05-05.count类查询结果更新到缓存的代码添加.mp4

DAY05-06.sequence类查询结果更新到缓存的代码添加.mp4

DAY05-07.查询服务类clickhouse不需要state的问题重构.mp4

DAY05-08.查询service中sql语句的运行时deviceid条件替换.mp4

DAY05-09.消除代码中的规范检查黄色警告.mp4

DAY05-10.log4j半小时上手并抓住精髓.mp4

DAY05-11.slf4j和log4j-log4j2-logging等依赖冲突的管理.mp4

DAY05-12.flink项目中恰当管理日志的终极演示.mp4

DAY05-13.项目中添加日志打印埋点示例.mp4

DAY05-14.项目版本V4.0联调测试.mp4

----

DAY06-01.项目V4.0版多处隐蔽但重大的bug修改.mp4

DAY06-02.项目V4.0联调详细测试.mp4

DAY06-03.项目V4.0性能压测及各种性能设计的精妙之处.mp4

DAY06-04.项目V5.0规则动态化的核心设计灵魂.mp4

DAY06-05.drools快速上手-基本工作机制.mp4

DAY06-06.drools快速上手-drl规则文件的语法ATTRIBUTE规则-LHS条件-RHS结果.mp4

DAY06-07.drools快速上手-kiesession构建及规则计算触发.mp4

DAY06-08.drools快速上手-通过字符串形式加载drl规则.mp4

DAY06-09.drools快速上手-整合flink.mp4

DAY06-10.canal快速上手-并打通mysql到kafka的数据流.mp4

DAY06-11.canal整合flink整合drools全流程demo.mp4

----

DAY07-01.项目规则动态化-规则信息表设计.mp4

DAY07-02.项目规则动态化-主程序添加流-process函数改造(1).mp4

DAY07-03.项目规则动态化-规则动态注入的实现全流程设计.mp4

DAY07-04.项目规则动态化-规则操作信息的处理逻辑开发.mp4

DAY07-05.项目规则动态化-process调用规则的代码开发.mp4

DAY07-06.项目规则动态化-主程序补全.mp4

DAY07-07.项目规则动态化-DRL规则编写及SQL编写及clickhouse查询service代码修改.mp4

DAY07-08.项目规则动态化-联调测试准备.mp4

DAY07-09.项目规则动态化-联调测试(2).mp4

DAY07-10.项目查询核心服务的动态编译加载思路.mp4

DAY07-11.DRL-SQL代码模板化-freemarker快速理解.mp4

DAY07-12.DRL-SQL代码模板化-freemarker快速上手.mp4

DAY07-13.DRL-SQL代码模板化-cntsql的模板开发及渲染调用.mp4

DAY07-14.关于就业中的一些术语概念.mp4

----

另还有几个追补视频,更新中

猜你喜欢

转载自blog.csdn.net/qq_37933018/article/details/116151691