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篇(项目介绍篇)相关推荐

  1. 从零构建FLINK整合Drools动态规则实时运营系统(项目案例)第2篇(业务介绍篇)

    项目简介 本案例是一个专注于flink动态规则计算的项目,核心技术组件涉及flink.hbase.clickhouse.drools等 项目可根据各类个性化需求进行二次开发后,直接用于实时运营,实时风 ...

  2. 从零构建FLINK整合Drools动态规则实时运营系统(项目案例)-第5篇(用户画像篇)

    前言 项目介绍在线视频: https://www.bilibili.com/video/BV1zv41157yY 本案例是一个专注于flink动态规则计算的项目,核心技术组件涉及flink.hbase ...

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

    视频地址 简单来说,本系统,核心是一个基于事件驱动且可进行动态规则计算的实时系统: 在技术上,它是通用的:本套架构及系统内核,不仅可以用于"实时运营",也可以用于"实时风 ...

  4. flink+drools动态规则示例之温度跳变告警

    flink+drools动态规则示例之温度跳变告警 package com.mz.test;import com.google.common.collect.Lists; import lombok. ...

  5. Flink Cep 扩展 - 动态规则更新及Pattern间within()

    上一篇文章 <Flink Cep 源码分析>我们可以知道Flink cep中Pattern的创建,state的转换,以及匹配结果的数据.这一篇则对Flink cep的两个痛点进行扩展: 1 ...

  6. Drools动态规则

    动态规则,是做规则引擎最想知道的问题,小编也加过一些群,大部分的人都喜欢问这样的问题. 规则只能写在文件里嘛 规则引擎能做什么 规则可动态配置嘛 在项目中使用规则引擎,业务人员怎么用呢? 规则变化了怎 ...

  7. Flink整合Drools规则引擎

    业务功能:根据告警规则,从告警流中将主告警和次告警进行关联. pom maven配置: <drools.version>6.5.0.Final</drools.version> ...

  8. 小程序+springboot+vue技术构建分帐式多商户入驻商城系统开发,引入lombok简化项目代码

    网页设计中使用了三种语言:HTML.CSS和JavaScript.HTML和CSS一直是网页设计的基础,而JavaScript则被用于添加网站的动态视图. 在提供吸引人的UI/UX时,JavaScri ...

  9. drools动态增加、修改、删除规则

    文章目录 1.背景 2.前置知识 1.如何动态构建出一个`kmodule.xml`文件 2.kmodule.xml应该被谁加载 3.我们drl规则内容如何加载 4.动态构建KieContainer 3 ...

最新文章

  1. 逻辑模型设计步骤-分析主题域
  2. 计算机原理解读图,详细讲解仪器仪表测试系统,结构原理图拿走不谢
  3. 二十三、Python队列实现多线程(下篇)
  4. 【安卓开发 】Android初级开发(网络操作)
  5. 截取AVI格式的视频C语言代码
  6. (二)Qt中QTableView中加入Check列实现
  7. 使用Echarts制作散点图(Excel导入数据方式)
  8. Spark DataFrame入门详解
  9. Gitlab-API各状态码解释
  10. SoapUI接口测试断言
  11. oracle考试试题及其答案,oracle考试试题及答案
  12. linux 流场分析软件,scSTREAM | 通用流体分析软件
  13. pygame安装教程(window)
  14. 【机器学习】支持向量机原理与序列最小最优化算法SMO
  15. Could not transfer artifact问题
  16. win10豆沙绿设置
  17. matlab中screen函数,13 PTB Screen 函数
  18. 自学2 MATLAB图形处理
  19. 杰理之MIC 省电 容方案 微信语音 或通话 时前面 几秒钟有 哒哒声【篇】
  20. 冷笑话大集合,越往后越冷哦

热门文章

  1. 大学生风力发电风向跟踪实验改进
  2. 【ASM】Oracle ASM + 11gR2 + RHEL6.5 安装
  3. 宝藏又小众的html5网页特效素材网站分享
  4. windows环境下搭建python开发环境的方法_windows下python开发环境的搭建
  5. 怎么识别截图中的文字?这三个方法让你轻松学会
  6. CubeMX 串口DMA
  7. 某大型水压机的驱动系统和控制系统(论文+DWG图纸)
  8. [SV]合并数组和非合并数组
  9. 《Linux与Python 编程 R》--实验指导书(2020)
  10. 上海交大计算机网络基础,上海交大计算机网络基础教程