从零构建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一样线性开发;
必须要进行恰当的模块划分,并以高内聚、低耦合作为模块设计的原则;
只有这样,才能开发出结构清晰,可维护性/可扩展性高的系统;

模块测试

每一个模块开发完成后,都要进行充分测试,这样才能尽可能降低模块整合后的故障率;

阶段联调测试

每个大的阶段开发完成,都需要进行联调测试,确保该环节之前的所有功能已经完成,所有问题已经排除;

性能压力测试

对核心环节,应该扎实做好性能压力测试;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值