【RuleGo教程】快速入门-体验Go语言配置式开发的乐趣

这一章我们学一下怎样快速使用 RuleGo。RuleGo 使用极其简单,把数据往规则链引擎扔,然后规则链引擎就会根据规则链配置高效处理数据。

安装

使用go get命令安装RuleGo

go get github.com/rulego/rulego

使用

首先使用Json格式定义规则链。规则链的定义不需要学习特定的规则语法或者DSL,只要配置组件,并把他们通过一定的关系连接起来,即可实现你的功能需求。参考规则链

导入RuleGo包并创建一个规则引擎实例:

import "github.com/rulego/rulego"

//创建一个规则引擎实例,每个规则引擎实例有且只有一个根规则链
ruleEngine, err := rulego.New("rule01", []byte(ruleFile))

把消息、消息类型、消息元数据交给规则引擎实例处理,然后消息就会根据配置的规则链逻辑进行处理:

//定义消息元数据
metaData := types.NewMetadata()
metaData.PutValue("productType", "test01")
//定义消息内容和消息类型
msg := types.NewMsg(0, "TELEMETRY_MSG", types.JSON, metaData, "{\"temperature\":35}")

//把消息交给规则引擎处理
ruleEngine.OnMsg(msg)

规则引擎实例管理:

//通过规则链ID获取已经创建的规则引擎实例
ruleEngine, ok := rulego.Get("rule01")
//删除已经创建的规则引擎实例
rulego.Del("rule01")

小结

RuleGo 使用极其简单和轻量级。只需以下2步:

  • 1.使用Json格式的规则链定义业务逻辑,并根据该规则链初始化规则引擎。
  • 2.然后把消息或者事件交给规则引擎实例,每条消息或者事件就会按照规则链定义的逻辑进行处理,规则链支持热更新。

RuleGo 虽然轻但很强大,我们继续阅读其他章节往下探索…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值