Is it possible to use multiple DB schema for single BPMN. Like some portion of BPMN can save/retrieve state to different DB schema, while other portion saves to different DB schema?
@Jay0 Yes it’s possible in one way. That is, splitting your monolith process model into microservices architectural style process models. So that way you can distribute/deploy the process models to various nodes/datastore. And the communication between processes could be using rest api.
https://blog.bernd-ruecker.com/avoiding-the-bpm-monolith-when-using-bounded-contexts-d86be6308d8
https://blog.bernd-ruecker.com/the-microservice-workflow-automation-cheat-sheet-fc0a80dc25aa
Thanks aravindhrs
My use-case is less about monolith vs microservices, but more about increasing the scalability of the process. If I could do some sharding or run some of the BPMN components in different DB. I could achieve good scalability.
If this is not the case, then there’s no point in storing process itself in different machines.
For scaling perspective,
- You can add more nodes behind the load balancers to handle the network traffic or jobs.
- Additionally you can try external-task patterns to handle the jobs outside the process application so that you can scale workers for the specific topic.
- Another option is horizontally sharding the database might help you achieving the performance.
Follow this blog for sharding: