/rule-engine

规则引擎

Primary LanguageJava

规则引擎

基于流程的流式规则引擎。

Maven Central Maven metadata URL Build Status codecov

运行

规则引擎支持3种模式运行:

  1. 单点模式

只能在一个服务器节点上运行规则。

  1. 集群模式

规则运行方式与单点模式相同,可以在多台服务节点上运行相同的规则进行负载均衡。

  1. 分布式模式

可指定同一个规则的不同规则节点在不同的服务节点上运行。

规则模型

//规则模型
RuleModel{ 
    events:[ RuleLink ]     # 事件连接点,用于自定义规则事件的处理规则
    nodes:[ RuleNodeModel ] # 所有节点信息,包含事件节点
}
//节点模型
RuleNodeModel{
    executor: ""            # 节点执行器标识
    configuration: { Map }  # 节点配置
    events:[ RuleLink ]     # 事件连接点,用于自定义节点事件的处理规则
    inputs:[ RuleLink ]     # 输入连接点
    outputs:[ RuleLink ]    # 输出连接点
}
//连接点,将2个规则节点关联
RuleLink{
    type: ""                # 类型,为事件连接点时类型则为事件类型
    condition: Condition    # 连接条件
    source: RuleNodeModel   # 连接节点
    target: RuleNodeModel   # 被连接节点
}
//条件
Condition{
    type: ""                # 条件类型。如: expression
    configuration: { Map }  # 条件配置
}

流程节点执行器

TODO

规则设计器

TODO