从零构建FLINK整合Drools动态规则实时运营系统(项目案例)第1篇(项目介绍篇)
1 整体架构
前言
项目介绍在线视频: https://www.bilibili.com/video/BV1zv41157yY
本案例是一个专注于flink动态规则计算的项目,核心技术组件涉及flink、hbase、clickhouse、drools等
项目可根据各类个性化需求进行二次开发后,直接用于实时运营,实时风控、交通监控等场景的线上生产
项目完整视频教程和资料代码等,可在易学在线 https://v.51doit.cn 获取
技术交流,可加微信: haitao-duan
技术架构示意图
2 涉及技术
- Flink 实时流式计算王者引擎
- Canal 数据库实时采集
- Kafka 分布式消息缓存系统
- Redis 内存数据库
- Drools 规则引擎
- Clickhouse 新秀OLAP数据库
- Hbase 大型分布式nosql数据库
- Java 即时编译 Java 动态类加载
- Springboot 后端开发整合框架
- Mybatis 后端开发DAO层框架
- Vue 前端开发JS框架
- Freemarker 模板引擎
3 需求举例
需求示例(一)
公司最近有一个商务休闲服装品牌的商家&平台联合促销活动,在3.25-4.25期间,只要购买该品牌的服装,则都可以使用一个50元的代金券;
市场运营人员不想把优惠券无差别地发放给平台所有用户,而是想把优惠券尽可能发给有可能产生购买行为的用户;因此,市场部定义了一个发放优惠券的促销规则:
规则触发行为条件:
用户浏览男装商品
受众画像属性条件:
- 用户年龄:28-40岁之间
- 用户性别:男性
受众行为属性条件:
- 用户在最近1个月内,有过10次男装浏览行为
- 用户在最近1个月内,有过5次“商务休闲”关键词搜索行为
需求示例(二)
规则触发条件:浏览或点击或加购奶茶类饮品
受众画像属性条件:年龄(15-25),性别(女),vip等级(>=2),月消费(>=200)
受众行为属性条件:周登录次数(>4),月奶茶类收藏(>3),近3天点赞(>6)
周依次做过:轮播广告AD3点击,奶茶产品详情浏览,饮料类添加购物车
4 需求规则抽象模型
规则组成要素分析抽象
规则要素(即规则条件),其实包括4个部分:
- 事实,即被判断的主体和属性,如上面规则的账号及登陆次数、IP和注册次数等;
- 条件,判断的逻辑,如某事实的某属性大于某个指标;
- 指标阈值,判断的依据,比如登陆次数的临界阈值,注册账号数的临界阈值等;
- 时间要素(条件所涉及的时间范围)
规则可由运营专家凭经验填写,也可由数据分析师根据历史数据发掘,但因为规则与现实需求的契合会随时间而变(如与黑产的攻防之中会被猜中导致失效),所以无一例外都需要动态调整。
规则的运算模式分析抽象
- 原子条件(查询)
- 与或非组合
规则的运算数据源
- 用户行为实时明细日志
- 用户画像数据
- 用户行为历史统计聚合数据
3 开发模式
迭代式开发
由于系统相对复杂,细节逻辑众多,因此本项目课程将带领学员按照迭代的模式进行开发;
逐个突破关键技术点,然后逐步迭代丰富和完善系统;
模块化开发
一个复杂的系统,不可能像helloworld一样线性开发;
必须要进行恰当的模块划分,并以高内聚、低耦合作为模块设计的原则;
只有这样,才能开发出结构清晰,可维护性/可扩展性高的系统;
模块测试
每一个模块开发完成后,都要进行充分测试,这样才能尽可能降低模块整合后的故障率;
阶段联调测试
每个大的阶段开发完成,都需要进行联调测试,确保该环节之前的所有功能已经完成,所有问题已经排除;
性能压力测试
对核心环节,应该扎实做好性能压力测试;
从零构建FLINK整合Drools动态规则实时运营系统(项目案例)第1篇(项目介绍篇)相关推荐
- 从零构建FLINK整合Drools动态规则实时运营系统(项目案例)第2篇(业务介绍篇)
项目简介 本案例是一个专注于flink动态规则计算的项目,核心技术组件涉及flink.hbase.clickhouse.drools等 项目可根据各类个性化需求进行二次开发后,直接用于实时运营,实时风 ...
- 从零构建FLINK整合Drools动态规则实时运营系统(项目案例)-第5篇(用户画像篇)
前言 项目介绍在线视频: https://www.bilibili.com/video/BV1zv41157yY 本案例是一个专注于flink动态规则计算的项目,核心技术组件涉及flink.hbase ...
- Flink动态规则实时智能营销系统
视频地址 简单来说,本系统,核心是一个基于事件驱动且可进行动态规则计算的实时系统: 在技术上,它是通用的:本套架构及系统内核,不仅可以用于"实时运营",也可以用于"实时风 ...
- flink+drools动态规则示例之温度跳变告警
flink+drools动态规则示例之温度跳变告警 package com.mz.test;import com.google.common.collect.Lists; import lombok. ...
- Flink Cep 扩展 - 动态规则更新及Pattern间within()
上一篇文章 <Flink Cep 源码分析>我们可以知道Flink cep中Pattern的创建,state的转换,以及匹配结果的数据.这一篇则对Flink cep的两个痛点进行扩展: 1 ...
- Drools动态规则
动态规则,是做规则引擎最想知道的问题,小编也加过一些群,大部分的人都喜欢问这样的问题. 规则只能写在文件里嘛 规则引擎能做什么 规则可动态配置嘛 在项目中使用规则引擎,业务人员怎么用呢? 规则变化了怎 ...
- Flink整合Drools规则引擎
业务功能:根据告警规则,从告警流中将主告警和次告警进行关联. pom maven配置: <drools.version>6.5.0.Final</drools.version> ...
- 小程序+springboot+vue技术构建分帐式多商户入驻商城系统开发,引入lombok简化项目代码
网页设计中使用了三种语言:HTML.CSS和JavaScript.HTML和CSS一直是网页设计的基础,而JavaScript则被用于添加网站的动态视图. 在提供吸引人的UI/UX时,JavaScri ...
- drools动态增加、修改、删除规则
文章目录 1.背景 2.前置知识 1.如何动态构建出一个`kmodule.xml`文件 2.kmodule.xml应该被谁加载 3.我们drl规则内容如何加载 4.动态构建KieContainer 3 ...
最新文章
- 逻辑模型设计步骤-分析主题域
- 计算机原理解读图,详细讲解仪器仪表测试系统,结构原理图拿走不谢
- 二十三、Python队列实现多线程(下篇)
- 【安卓开发 】Android初级开发(网络操作)
- 截取AVI格式的视频C语言代码
- (二)Qt中QTableView中加入Check列实现
- 使用Echarts制作散点图(Excel导入数据方式)
- Spark DataFrame入门详解
- Gitlab-API各状态码解释
- SoapUI接口测试断言
- oracle考试试题及其答案,oracle考试试题及答案
- linux 流场分析软件,scSTREAM | 通用流体分析软件
- pygame安装教程(window)
- 【机器学习】支持向量机原理与序列最小最优化算法SMO
- Could not transfer artifact问题
- win10豆沙绿设置
- matlab中screen函数,13 PTB Screen 函数
- 自学2 MATLAB图形处理
- 杰理之MIC 省电 容方案 微信语音 或通话 时前面 几秒钟有 哒哒声【篇】
- 冷笑话大集合,越往后越冷哦
热门文章
- 大学生风力发电风向跟踪实验改进
- 【ASM】Oracle ASM + 11gR2 + RHEL6.5 安装
- 宝藏又小众的html5网页特效素材网站分享
- windows环境下搭建python开发环境的方法_windows下python开发环境的搭建
- 怎么识别截图中的文字?这三个方法让你轻松学会
- CubeMX 串口DMA
- 某大型水压机的驱动系统和控制系统(论文+DWG图纸)
- [SV]合并数组和非合并数组
- 《Linux与Python 编程 R》--实验指导书(2020)
- 上海交大计算机网络基础,上海交大计算机网络基础教程