🗄Etcd配置源
LiteFlow从v2.9.0开始,原生支持了Etcd的规则配置源。
# 依赖
如果使用Etcd作为规则配置源,你需要添加以下额外插件依赖:
<dependency>
<groupId>com.yomahub</groupId>
<artifactId>liteflow-rule-etcd</artifactId>
<version>2.10.7</version>
</dependency>
# 配置
依赖了插件包之后,你无需再配置liteflow.ruleSource
路径。
只需要配置插件的额外参数即可:
liteflow:
rule-source-ext-data-map:
endpoints: http://127.0.0.1:2379
chainPath: /liteflow/chain
scriptPath: /liteflow/script
liteflow.rule-source-ext-data={\
"endpoints":"http://127.0.0.1:2379",\
"chainPath":"/liteflow/chain",\
"scriptPath":"/liteflow/script"\
}
// Make sure to add code blocks to your code group
# 配置说明
配置项 | 说明 |
---|---|
endpoints | etcd的连接串 |
chainPath | 你的规则目录节点(下面会有很多个规则,一个规则一个节点) |
scriptPath | 你的脚本目录节点(下面会有很多个脚本,一个脚本一个节点) |
# 存储数据说明
在etcd中,假设你的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
关于脚本类型,可以参照定义脚本组件这一章节。
# 自动刷新
使用了此Etcd配置源插件,凡是Etcd节点里面的规则改动,会自动推送到业务系统,进行实时的平滑热刷新。你无需做任何事情。
# 小例子
为了让大家能简单上手Etcd规则文件的配置和运行,这里有一个小demo,大家可以拉到本地来运行,需要你替换Etcd的配置信息。
运行项目前,先读项目里的readme.txt
文件。
https://github.com/bryan31/liteflow-ext-rule-demo
帮助我们改善此文档 (opens new window)
上次更新: 2023/08/04, 17:02:03