详解golang的Gengine规则引擎

ops/2025/2/26 22:48:34/

一:简介

  Gengine是一款基于golang和AST(抽象语法树)开发的规则引擎, Gengine支持的语法是一种自定义的DSL, Gengine通过内置的解释器对规则文件进行解析,构建规则模型,进行相应的规则计算和数据处理。Gengine于2020年7月由哔哩哔哩(bilibili.com)授权开源。Gengine现已应用于B站风控系统、流量投放系统、AB测试、推荐平台系统等多个业务场景。

官网上给出的Gengine相比于Java领域的著名规则引擎drools优势如下:

对比

drools

gengine

执行模式

仅支持顺序模式

支持顺序模式、并发模式、混合模式,以及其他细分执行模式

规则编写难易程度

高,与java强相关

低,自定义简单语法,与golang弱相关

规则执行性能

低、无论是规则之间还是规则内部,都是顺序执行

高,无论是规则间、还是规则内,都支持并发执行.用户基于需要来选择合适的执行模式


http://www.ppmy.cn/ops/161524.html

相关文章

[特殊字符]《封印adb的黑暗通道:让系统文件成为魔法禁书区的终极指南》[特殊字符]

第一章:当adb变成泄密特洛伊木马 "曾经,adb是程序员的阿拉丁神灯,如今却成了产品经理的噩梦!" —— 某秃头CTO的血泪控诉 某日,产品经理惊恐发现:自家黑科技APP竟被竞争对手用adb pull轻松窃取…

Ubuntu搭建esp32环境 配置打开AT指令集 websocket功能

1,搭建前提 环境搭建参考乐鑫官网给的本地编译 ESP-AT 工程方法 因为公司电脑和网络的特殊性,不能正确解析域名(仅在浏览器上可以访问) ,所以这边访问的时候改成了ssh 未了避免使用外网困难的问题,这里用…

C#连接sql server

连接时,出现如下提示: ERROR [IM014] [Microsoft][ODBC 驱动程序管理器] 在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配 原因是odbc的驱动和应用程序的架构不一致。我的odbc如下所示: 显示为64位,而c#程序显…

【c语言】字符函数和字符串函数(1)

一、字符分类函数 c语言中有部分函数是专门做字符分类的,也就是一个字符是属于什么类型的字符,这些函 数的使用要包含一个头文件ctype.h中。 其具体如下图所示: 这些函数的使用方式都类似,下面我们通过一个函数来看其…

比较RPC和RESTful API的优缺点

RPC和RESTful API是两种不同的远程调用方式,它们各自具有不同的优缺点。 RPC的优点包括: 高效:RPC使用自定义的通信协议,可以减少报文传输量,提高传输效率。灵活:RPC支持多种语言,不同的编程语…

DeepSeek 点燃关键技术突破的科技引擎,驶向未来新航道

在当今数字化浪潮汹涌澎湃的时代,人工智能(AI)技术宛如闪耀的灯塔,照亮了科技发展的漫漫征途。从智能家居的便捷体验,到自动驾驶的前沿探索,从医疗诊断的精准辅助,到金融风控的智能决策&#xf…

PCI_PCIe子系统学习(一)概念理清

文章目录 1、其它学习文章2、PCI和PCIe总线简单介绍2.1、PCI2.2、PCIe 3、引脚概述3.1、PCI3.1.1、PCI引脚概述3.1.2、PCI引脚定义3.1.2.1、32位 PCI (124针)3.1.2.2、64位 PCI (188针) 3.1.3、PCI引脚功能分类 3.2、PCIe3.2.1、PCIe引脚概述3.2.2、PCIe引脚定义3.2.2.1、PCIe …

第2课 树莓派镜像的烧录

树莓派的系统通常是安装在SD卡上的‌。SD卡作为启动设备,负责启动树莓派并加载操作系统。这种设计使得树莓派具有便携性和灵活性,用户可以通过更换SD卡来更换操作系统或恢复出厂设置。 烧录树莓派的镜像即是将树莓派镜像烧录到SD卡上,在此期间会格式化SD卡,如果SD卡…