Multi-Tenancy schema strategy


#1

Hi, we are developing a new project and we want to use camunda spring-boot version, because is easier integrate another things like (spring-config,spring-boot-admin,Consul Service Discovery,Rabbitmq)

I have a customer per schema and I have opened this issue (https://github.com/camunda/camunda-bpm-spring-boot-starter/issues/264) to understand how I can resolve this problem with camunda

From what I understood I have two options:

Strategy 1 (https://docs.camunda.org/manual/7.5/user-guide/process-engine/multi-tenancy):
When I have one new customer, I would have to setup a tenant in camunda xml file and to invoke this engine(/engine/:engine/task) in my rest-client.

Strategy 2:
Using this strategy I would have one container per engine and in my rest client I’ll need to invoke a specific container per tenant.

How I don’t have microservice scenario the strategy two will be very expensive and I wouldn’t like to discard spring-boot version. So someone have any ideia to how I can handle with many schemas in spring boot?


#2

Maybe I am getting it wrong, but I do not see your “option 1” in the multi-tenant documentation.

It’s either “one application - one schema” (with tenant information on each camunda table)" or “many applications, and each with its own schema (-> ‘microe-engines’)” …

Sorry for redirecting you again, but you will find more capable support if you clarify that fundamental understanding of multi-tenancy in a general category (engine) and we continue here to see if and how you could use the extension to achieve it, because right now I believe what you expect is not possible, even if you stick to a plain old tomcat/jboss deployment …

What I know for sure is that the extension does not allow to configure multiple engines so far and it would require a mere complete rewrite of the yaml/properties parsing to allow so. But it should be possible to have multiple “tenant” flags on tables inside one engine with one db …