📗ZK规则文件配置源
# 依赖
LiteFlow支持把配置放在zk集群中,基于zk的通知机制,LiteFlow支持实时修改流程
如果需要用到zk,需要添加以下额外依赖插件:
<dependency>
<groupId>com.yomahub</groupId>
<artifactId>liteflow-rule-zk</artifactId>
<version>2.10.7</version>
</dependency>
# 配置
依赖了插件包之后,你无需再配置liteflow.ruleSource
路径。
只需要配置插件的额外参数即可:
liteflow:
rule-source-ext-data-map:
connectStr: 127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183
chainPath: /liteflow/chain
#如果你没有脚本组件,以下可以不配置
scriptPath: /liteflow/script
liteflow.rule-source-ext-data={\
"connectStr":"127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183",\
"chainPath":"/liteflow/chain",\
"scriptPath":"/liteflow/script"\
}
// Make sure to add code blocks to your code group
# 配置说明
配置项 | 说明 |
---|---|
connectStr | zk的连接串,可以是集群 |
chainPath | 你的规则目录节点(下面会有很多个规则,一个规则一个节点) |
scriptPath | 你的脚本目录节点(下面会有很多个脚本,一个脚本一个节点) |
# 存储数据说明
在ZK中,假设你的chainPath
为:/liteflow/chain
那么这个路径下的每一个节点就是一个规则,节点的key为chainId,value为单纯的EL(THEN(a,b,c)
),比如:
/liteflow/chain
---chain1
---chain2
对于脚本path来说,假设你的scriptPath
为:/liteflow/script
那么这个路径下的每一个节点都是一个脚本组件,节点的key有固定格式:脚本组件ID:脚本类型:脚本名称
,value为脚本数据,比如:
/liteflow/script
---s1:script:脚本组件s1
---s2:script:脚本组件s2
关于脚本类型,可以参照定义脚本组件这一章节。
# 自动刷新
使用了此zk配置源插件,凡是zk节点里面的规则改动,会自动推送到业务系统,进行实时的平滑热刷新。你无需做任何事情。
# 小例子
为了让大家能简单上手ZK规则文件的配置和运行,这里有一个小demo,大家可以拉到本地来运行,需要你替换zk的配置信息。
运行项目前,先读项目里的readme.txt
文件。
https://github.com/bryan31/liteflow-ext-rule-demo
帮助我们改善此文档 (opens new window)
上次更新: 2023/08/04, 17:02:03