在 Camunda 中禁用运行时数据库
Disable Runtime DB in Camunda
我有一个像这样的简单过程:
进程没有任何用户任务,只有一些服务任务,但进程会启动很多次,性能问题很重要。
我将 HistoryLevel 设置为 none 以获得更好的性能并且它在负载测试中有效。
我有一个问题,在网上搜索找不到。
有什么方法可以在 Camunda 中禁用运行时数据库吗?我不确定这是否是一个合理的目标,但我想知道这一点。
流程模型不是从类路径中读取的,而是部署到数据库中并从那里读取的。因此,即使您禁用历史记录并且在您的流程模型中没有异步延续或等待状态,Camunda 也需要一个关系数据库。
但是,如果您根本不需要持久性,那么您可以简单地配置一个内存数据库,例如 Camunda 在其不同发行版中为开发目的提供的 H2 数据库。您可以将数据库 url 切换为例如jdbc:h2:mem:camunda-db
(参见 https://www.h2database.com/html/features.html#in_memory_databases)切换到内存配置。
24 Hour Fitness 是 运行 每天使用类似方法的数百万个流程实例。您可能对他们在 CamundaCon 2020.1 上的演讲感兴趣:
https://vimeo.com/440715573
我有一个像这样的简单过程:
进程没有任何用户任务,只有一些服务任务,但进程会启动很多次,性能问题很重要。 我将 HistoryLevel 设置为 none 以获得更好的性能并且它在负载测试中有效。
我有一个问题,在网上搜索找不到。
有什么方法可以在 Camunda 中禁用运行时数据库吗?我不确定这是否是一个合理的目标,但我想知道这一点。
流程模型不是从类路径中读取的,而是部署到数据库中并从那里读取的。因此,即使您禁用历史记录并且在您的流程模型中没有异步延续或等待状态,Camunda 也需要一个关系数据库。
但是,如果您根本不需要持久性,那么您可以简单地配置一个内存数据库,例如 Camunda 在其不同发行版中为开发目的提供的 H2 数据库。您可以将数据库 url 切换为例如jdbc:h2:mem:camunda-db
(参见 https://www.h2database.com/html/features.html#in_memory_databases)切换到内存配置。
24 Hour Fitness 是 运行 每天使用类似方法的数百万个流程实例。您可能对他们在 CamundaCon 2020.1 上的演讲感兴趣: https://vimeo.com/440715573