Activity 运行多个实例及其影响

问题描述 投票:0回答:2

在我们的项目中,我们将 Activiti 用于工作流,后端和前端都托管在 kubernetes 上,挑战是如果我必须扩展服务,触发器和基于时间的 cron 作业会被触发多次,如果是这样,我如何实现分布式锁是我们需要处理的事情还是 activiti 自己做的

实施方案或建议

google-kubernetes-engine activiti activiti-cloud
2个回答
0
投票

这不是 k8s 或 GKE 可以为您做的事情。如果 Activiti 负责运行工作流并且您希望避免两次运行相同的工作流。这是需要在 Activiti 上完成的事情。

也许考虑 consul 或 zookeeper 来实现分布式锁定机制?


0
投票

Activiti(这里说的是 Activiti 6)只要所有引擎都连接到同一个数据库,就会自动处理 k8 集群内部的扩展。 Activiti 本身是无状态的,状态保存在数据库中,作业在获取时被锁定,因此另一个执行者不能/不会选择它。 至于“cron”工作,我假设你的意思是“定时器启动事件”,同样适用,这些只是工作执行者(在这种情况下是定时器工作执行者)拾取的工作。

© www.soinside.com 2019 - 2024. All rights reserved.