Integrating Camunda with Kafka - where is the state of the workflow managed?

fshort: Hi, I’m looking to integrate Camunda with Kafka for event processing and had a question about storing the events and workflow state persistence. From a Camunda perspective, is the state of the workflow managed in a separate DB and the events and tasks for the workflow stored in Kafka topics? Or, is it possible to eliminate the DB entirely and run everything out of Kafka?

Thanks,
Fred

zell: Hey @fshort Zeebe uses http://rocksdb.org/|RocksDB to store the processing state and commands which are processed and resulting events are written to an append only log. There is no dependency to kafka, but sure you can rebuild it with kafka if you want. Hope this helps.

Note: This post was generated by Slack Archivist from a conversation in the Zeebe Slack, a source of valuable discussions on Zeebe (get an invite). Someone in the Slack thought this was worth sharing!

If this post answered a question for you, hit the Like button - we use that to assess which posts to put into docs.

fshort: I’ve been thinking about this purely from an event based approach (which may be wrong), Let’s say an event is raised that changes the state of the workflow (i.e. task A completed, flow progresses to the next step), that change could be raised as an event and written to Kafka to a separate topic (workflow-state). Any UI or process looking to understand the current state of the workflow could query Kafka or listen to the workflow change events being published. The contents of that event could be a json that represents the structure of the workflow. Thoughts?