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

网站开发长期合作百度老旧版本大全

网站开发长期合作,百度老旧版本大全,衡阳商城网站建设,泊头网站建设文章目录 一、 业务场景概述二、整体技术架构三、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/425439.html

相关文章:

  • 如何搜索到自己的网站深圳网站优化推广
  • 做的网站浏览器提示不安全宁宁网seo
  • 网站软文发多了会影响网站优化教程
  • 营销型网站建设是什么百度营销网页版
  • 常德公司做网站技能培训班
  • 网站如何做301转向市场营销公司排名
  • 古色古香的网站模板外包公司软件开发
  • 合工大智能院网站建设整站优化全网营销
  • 买网站送域名成都百度推广公司联系电话
  • 教你如何做网站今日头条新闻在线看
  • 广告策划书包括哪些内容石家庄百度seo排名
  • 网站f式布局哈尔滨seo网络推广
  • 成绩查询系统网站开发免费网站建站2773
  • 石家庄电子商务网站建设福州seo公司排名
  • 介休市网站建设公司站长之家官网入口
  • 南昌网站建设公司效果爱站网seo
  • logo在线设计免费生成器东莞seo外包
  • 电商pc网站建设方案百度竞价推广有哪些优势
  • 免费做问卷的网站百度指数三个功能模块
  • 房地产最新消息解读seo线上培训机构
  • 网站名称怎么起好听域名注册网站有哪些
  • 请问做网站需要什么软件天津百度网站快速排名
  • wordpress 复制 word格式宁波seo智能优化
  • 做经营性的网站备案条件高清免费观看电视网站
  • 长治做网站的公司竞价托管推广多少钱
  • 漳州疫情最新情况 最新消息百度seo如何快速排名
  • 做网站游戏都需要什么小学生简短小新闻
  • 简易手机站郑州seo外包
  • 榆次网站建设网络营销推广方案
  • 怎样做网址有自己的模板怎么快速优化关键词排名