CEP 是什么?

CEP 的英文全称是 Complex Event Processing,翻译成中文为复杂事件处理。它可以用于处理实时数据并在事件流到达时从事件流中提取信息,并根据定义的规则来判断事件是否匹配,如果匹配则会触发新的事件做出响应。除了支持单个事件的简单无状态的模式匹配(例如基于事件中的某个字段进行筛选过滤),也可以支持基于关联/聚合/时间窗口等多个事件的复杂有状态模式的匹配(例如判断用户下单事件后 30 分钟内是否有支付事件)。

因为这种事件匹配通常是根据提前制定好的规则去匹配的,而这些规则一般来说不仅多,而且复杂,所以就会引入一些规则引擎来处理这种复杂事件匹配。市面上常用的规则引擎有如下这些。

规则引擎对比

Drools

Drools 是一款使用 Java 编写的开源规则引擎,通常用来解决业务代码与业务规则的分离,它内置的 Drools Fusion 模块也提供 CEP 的功能。

优势:

  • 功能较为完善,具有如系统监控、操作平台等功能。
  • 规则支持动态更新。

劣势:

  • 以内存实现时间窗功能,无法支持较长跨度的时间窗。
  • 无法有效支持定时触达(如用户在浏览发生一段时间后触达条件判断)。

Aviator

Aviator 是一个高性能、轻量级的 Java 语言实现的表达式求值引擎,主要用于各种表达式的动态求值。

优势:

  • 支持大部分运算操作符。
  • 支持函数调用和自定义函数。
  • 支持正则表达式匹配。
  • 支持传入变量并且性能优秀。

劣势:

  • 没有 if el

Flink CEP 介绍及其使用场景相关推荐

  1. Apache Flink CEP 实战

    本文根据Apache Flink 实战&进阶篇系列直播课程整理而成,由哈啰出行大数据实时平台资深开发刘博分享.通过一些简单的实际例子,从概念原理,到如何使用,再到功能的扩展,希望能够给打算使用 ...

  2. Flink CEP 在抖音电商的业务实践

    摘要:本文整理自抖音电商实时数仓研发工程师张健,在 FFA 实时风控专场的分享.本篇内容主要分为四个部分: Flink CEP 简介 业务场景与挑战 解决方案实践 未来展望 Tips:点击「阅读原文」 ...

  3. Flink: CEP详解

    本文根据 Apache Flink 系列直播课程整理而成,由哈啰出行大数据实时平台资深开发刘博分享.通过一些简单的实际例子,从概念原理,到如何使用,再到功能的扩展,希望能够给计划使用或者已经使用的同学 ...

  4. Flink cep动态模板+cep规则动态修改实践

    私信之前请一键三连,请给一点动力!谢谢 目录 Flink CEP 概念以及使用场景 1.什么是CEP? 2.Flink CEP 应用场景 3.Flink CEP 原理(只做简单了解) 规则条件遵循参考 ...

  5. Flink大数据实时计算系列-Flink写出多个parquet小文件处理方法、Presto的介绍与使用场景

    Flink大数据实时计算系列-Flink写出多个parquet小文件处理方法.Presto的介绍与使用场景 Presto的安装与使用 目录 Flink写出多个parquet小文件处理方法 Presto ...

  6. Flink 之CEP介绍及应用

    1.什么是CEP? CEP即复杂事件处理(Complex Event Processing,CEP). Flink CEP是在 Flink 中实现的复杂事件处理(CEP)库. CEP 允许在无休止的事 ...

  7. 【Flink】基于 Flink CEP 实时计算商品订单流失量

    1.概述 转载:https://blog.csdn.net/tzs_1041218129/article/details/108786597 假设有个需求需要实时计算商品的订单流失量,规则如下: 用户 ...

  8. 从滴滴的Flink CEP引擎说起

    从滴滴的Flink CEP引擎说起 本文转载自 https://www.cnblogs.com/cx2016/p/11647110.html. CEP业务场景 复杂事件处理(Complex Event ...

  9. 一文学会 Flink CEP(以直播平台监控用户弹幕为例)

    我们在看直播的时候,不管对于主播还是用户来说,非常重要的一项就是弹幕文化.为了增加直播趣味性和互动性, 各大网络直播平台纷纷采用弹窗弹幕作为用户实时交流的方式,内容丰富且形式多样的弹幕数据中隐含着复杂 ...

最新文章

  1. getopt();getopt_long();getopt_long_only();option
  2. 工作中用到的设计模式?
  3. awk文本工具按列计算和
  4. Css Sprites 多张图片整合在一张图片上
  5. 【转】逆变与协变详解
  6. C# 对Ini文件操作(C# ini文件操作类)
  7. 【前端】相信你会用到的一篇笔记---CSS篇(1)
  8. 常见查找算法之—二分查找
  9. 家庭亲戚关系计算器微信小程序源码
  10. 判断两个单词是否互为变位词,如“book”,“koob”,代码如下
  11. 武汉php的工资是多少钱,在武汉工作,月薪5000元属于什么水平?
  12. Flash extractor功能介绍
  13. zookeeper的重连思考
  14. 【超级干货】Delphi轮播视频和图片程序(用于双屏显示程序)
  15. 新茶饮加速“去泡沫”
  16. 保罗兰德作品赏析_保罗·兰德简介
  17. Ubuntu 18.04安装显卡驱动
  18. 胡歌热播剧《猎场》遭差评 “程序猿”用自然语言分析揭真相
  19. 清华大学本科培养方案
  20. 软件批量修改文件日期

热门文章

  1. Shrio之权限表设计
  2. 联想微型计算机c255r拆机,ThinkServer RD550硬件拆解_ThinkServer RD550 S2609v3 R110i_服务器评测与技术-中关村在线...
  3. Windows Server2016 NPS服务构建基于AD域控的radius认证
  4. ionic4.x-京东商城
  5. linux+多个字符分割字符串数组中,String的split()方法可以将字符串按照特定的分隔符拆分成字符串数组...
  6. JArray数组转换为DataTable
  7. E-learning课件制作总结
  8. OneNote的安装教程 如何解决Win10登录微软账号报错问题
  9. 【Cylinder3D论文解读及代码略解】
  10. 进制转换--《十进制》