本文没有进行测试,只是根据文档进行分析记录:
主要方式有
1、使用localOnly
2、 使用不同conductor.redis.queueNamespacePrefix
3、使用lock,注意3.8开始不支持zookeeper lock,即只能使用redis lock,redis lock支持sentinel 和single node两种模式。
Considering a situation where a conductor instance goes down: * With local-only strategy, the workflow executions from failed conductor instance will not progress until:
The conductor instance is restarted or
The executions are manually terminated and restarted from a different node
With round-robin strategy, there is a chance the tasks will be rescheduled on a different conductor node
配置
workflow.dyno.queue.sharding.strategy=localOnly