Zeebe is the process automation engine powering Camunda 8. While written in Java, you do not need to be a Java developer to use Zeebe. To learn more about Zeebe, visit the Camunda docs.
This is a small overview of the contents of the different modules:
util
contains custom implementations of building blocks like an actor scheduler, buffer allocations, and metrics. Its parts are used in most of the other modulesprotocol
contains the SBE definition of the main message protocolbpmn-model
is a Java API for BPMN process definitions used for parsing etc.msgpack-*
is a custom msgpack implementation with extensions to evaluate json-path expressions on msgpack objectsdispatcher
is a custom implementation of message passing between threadsservice-container
is a custom implementation to manage dependencies between different serviceslogstreams
is an implementation of an append-only log backed by the filesystemtransport
is our abstraction over network transportsgateway
is the implementation of the gRPC gateway, using our SBE-based protocol to communicate with brokersgateway-protocol
contains the gRPC definitions for the Zeebe client-to-gateway protocolzb-db
is our RocksDB wrapper for state managementengine
is the implementation of the event stream processorbroker
contains the Zeebe broker which is the server side of Zeebeclient-java
contains the Java Zeebe clientatomix
contains transport, membership, and consensus algorithmsbenchmark
contains utilities the team uses to run load testsexporters/elasticsearch-exporter
contains the official Elasticsearch exporter for Zeebejournal
contains the append-only log used by the consensus algorithmsnapshots
abstracts how state snapshots (i.e.zb-db
) are handled