分享B站开源的规则引擎gengine

昨天有朋友和我交流,提到gengine,问我是否有接触,特意看了下,里面有涉及到DSL,之前带我的大佬在开发聚合网关时用到过这个概念,特意看了下,分享笔记。

Gengine

  • English document
  • 或者加入QQ交流群1132683357(内有官方微信交流群二维码)

基于golang的规则引擎

  • Gengine是一款基于AST(Abstract Syntax Tree)和golang语言实现的规则引擎(动态化加载框架)。能够让你在golang这种静态语言上,在不停服务的情况下实现动态加载与配置规则。
  • 代码结构松散,逻辑极其简单,但经过了必要且详尽的测试
  • Gengine所支持的规则,就是一门DSL(领域专用语言)
  • Gengine是一款高性能框架动态加载,与golang无缝对接,支持多种执行模式、支持规则池等满足各种业务场景需求

设计思想

官方文档

支持的执行模式

 

 

使用

  • 建议使用最新版本
  • go mod 或者 go vendor, go mod 引入:
require github.com/bilibili/gengine v1.5.6

问题联系

  • 提issue

核心介绍来自:gengine/README_zh.md at main · bilibili/gengine · GitHub

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值