当前位置: 首页 > wzjs >正文

php动态网站开发唐四薪版答案律师推广网站排名

php动态网站开发唐四薪版答案,律师推广网站排名,网红营销的概念,网站开发需要多少钱点评文章目录 一、 业务场景概述二、整体技术架构三、Drools概述1. Drools 简介2. Drools Rete 算法与flink-cep的区别?2.1 Rete 算法概述2.2 Flink CEP 概述四、代码实现4.1 导入依赖4.2 从kafka消费数据4.3 核心类,触发匹配操作并将匹配数据写入mysql4.4 Drools 管理4.5 相关的…

文章目录

    • 一、 业务场景概述
    • 二、整体技术架构
    • 三、Drools概述
      • 1. Drools 简介
      • 2. Drools Rete 算法与flink-cep的区别?
        • 2.1 Rete 算法概述
        • 2.2 Flink CEP 概述
    • 四、代码实现
        • 4.1 导入依赖
        • 4.2 从kafka消费数据
        • 4.3 核心类,触发匹配操作并将匹配数据写入mysql
        • 4.4 Drools 管理
        • 4.5 相关的实体类
        • 4.6 具体的规则
    • 五、drools和flink 性能瓶颈对比

一、 业务场景概述

目前我的应用场景主要是从kafka获取低并发量的流式数据,通过drools进行多种规则匹配,规则存在外部数据库mysql会被其他业务系统频繁更新,我通过drools匹配到的结果则需要回写到mysql。大体的数据流转就是这样。

二、整体技术架构

数据源:kafka-3.5流式数据
规则数据存储:mysql-8
规则检测:Drools-8.41.0.Final
开发框架:springboot3+mybatis-Plus

三、Drools概述

1. Drools 简介

Drools 是由 Red Hat 主导的 Java 规则引擎框架,基于 Rete 算法,提供强大的规则匹配能力。官方开发文档地址:https://docs.drools.org/8.44.0.Final/drools-docs/drools/introduction/index.html

核心组件包括:

  • 规则文件(.drl)
  • KIE(Knowledge Is Everything)
  • 容器和会话 Working Memory(事实对象)
  • Agenda(匹配的规则)

2. Drools Rete 算法与flink-cep的区别?

2.1 Rete 算法概述

Rete(发音类似 /ˈriːtiː/) 是一种高效的规则匹配算法,广泛用于 规则引擎(如 Drools、CLIPS)。

📌 核心特点
基于事实匹配:将事实(Fact)放入工作内存,规则引擎根据条件表达式判断规则是否满足。
节点网络(Rete网络):构建类似数据流图的结构,用于缓存中间匹配结果,提高性能。
适用于静态事实池:比较适合“当前有一堆状态或事实,我要看看哪些规则满足”。

🧩 举例:
drl

rule "VIP Customer"
when$c: Customer(type == "VIP", amount > 1000)
then$c.setDiscount(0.2);
end

当一个 Customer 对象被插入到工作内存中,Drools 会用 Rete 算法查找所有匹配该对象的规则。

2.2 Flink CEP 概述

Flink CEP 是 Apache Flink 提供的 复杂事件处理(CEP)库,用于实时流数据中的事件序列检测。

📌 核心特点
基于事件序列匹配:关注事件的顺序和时间,比如 A 事件发生后 10 秒内是否发生 B。
流式处理:天然支持大数据流的高吞吐处理。
模式定义清晰:可以定义“开始事件”、“中间事件”、“结束事件”等。
适合时间驱动/实时场景:适合日志分析、风控告警等场景。

对比项Rete(Drools)Flink CEP
应用场景规则引擎,状态决策流处理,时间敏感的事件模式识别
核心对象Fact(事实),规则Event(事件),Pattern(模式)
匹配方式基于属性条件的匹配基于事件顺序、时间窗口的模式匹配
状态类型静态内存(Working Memory)实时流状态(KeyedState + 时间)
引擎原理Rete 网络优化条件查询NFA(非确定有限状态机)模式匹配
事件顺序支持支持较弱(依赖额外规则定义)天生支持(next/within/before等)
时间窗口支持较弱(可通过规则实现)强(内建支持事件时间、乱序容忍)
性能优化点规则缓存、中间节点复用(Rete网络)流水线、状态 TTL、Watermark 等

四、代码实现

4.1 导入依赖
    <properties><java.version>21</java.version><httpcomponents.version>4.5.14</httpcomponents.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.24</version></dependency><!--   drools依赖     --><dependency><groupId>org.drools</groupId><artifactId>drools-engine-classic</artifactId><version>8.41.0.Final</version></dependency><dependency><groupId>org.drools</groupId><artifactId>drools-engine</artifactId><version>8.41.0.Final</version></dependency><dependency><groupId>org.kie</groupId><artifactId>kie-api</artifactId><version>8.41.0.Final</version></dependency><dependency><groupId>org.kie</groupId><artifactId>kie-internal</artifactId><version>8.41.0.Final</version></dependency><dependency><groupId>org.drools</groupId><artifactId>drools-drl-extensions</artifactId><version>8.41.0.Final</version></dependency><!-- Kafka -->
http://www.dtcms.com/wzjs/100700.html

相关文章:

  • 网站后台添加查看爬虫的痕迹数据分析师
  • 开发h5网站开发东莞市优速网络科技有限公司
  • 图片站手机网站怎么做的seo和sem的区别是什么?
  • 怎么做外贸网站公司网站怎么优化
  • 品牌网站开发动态模块seo营销外包
  • 网站建设信息介绍推广关键词外包
  • 怎么建立一个网站链接昆山seo网站优化软件
  • 做网站的视频教程个人网页制作成品
  • 设计图案用什么软件上海seo培训中心
  • 海南科技职业大学教务网络管理系统seo课程培训中心
  • 网站搭建的策略与方法sem推广案例
  • 网站需求怎么做免费营销培训
  • 企业网站app制作价格品牌营销平台
  • 网站二级菜单是什么培训总结精辟句子
  • 做网站语言javanba排名
  • 怎样做网站快手刷粉公司软文代写
  • 建设网站的公司汇总谷歌推广代理商
  • 单位建设网站需要招标找回今日头条
  • 做网站多久学会广告优化师是做什么的
  • 做动漫网站要多少钱我要推广网
  • 静安区品牌网站建设网站运营推广的方法有哪些
  • 电子商务网站设计与规划友情链接代码
  • 自己有主机怎么做论坛网站青岛网络优化哪家专业
  • 招远网站建设多少钱高端快速建站
  • 网站信息发布系统外贸推广方式都有哪些
  • 给客户做一个网站ppt怎么做广告营销的经典案例
  • 做寝室介绍网站互动营销是什么意思
  • 大宅别墅设计装修公司网站seo运营
  • 网站建设胶州seo课程培训要多少钱
  • 做电子商务平台b2b硬件优化大师