@StephenOTT related topic i created here. Multi-tenancy configuration / ProcessEngine & Datasource per tenant
Our current setup is like above @jangalinski mentioned, and multi-tenancy was handled with discriminator column. Default process engine was used to manage all tenant requests.
We won’t use any xml files to configure process engines.
-
Our current deployment is based on standalone process engines(REST api communication), running two spring boot camunda apps(Amazon EC2 instance) against the same database. It works fine.
-
Now the use case is, we got many tenants, lets say 50 tenants (tenant per DB/tenant per process engine). In this scenario we can’t run single process engine per spring boot runtime. It will results in 50 EC2 instances which is more expensive.
-
So we decided to create multiple process engines per tenant in one spring boot runtime. Using this approach, we can scale spring boot app will result in less number of EC2 instances.
-
If we have process engine per tenant in per spring boot app, thinking of scaling perspective will result in ending up with lots of resource usage.