Where is atomix used in Zeebe?


#1

Where is atomix used in Zeebe?
What its used for and its significance?
why its part of Zeebe project.


#2

Hi @shashi, atomix is used from 0.18 (coming soon!) to provide the gossip and Raft protocol implementations used by Zeebe for broker clustering. It’s a powerful and well-maintained set of primitives for building fault-tolerant systems and it means that Zeebe leverages all the development, testing, and bug fixes from that community.


#3

ok… thanks… It was great to know… I am actually preparing target state solution presentation for my leadership team on Zeebe… can you share the protocals, algorithms used in Zeebe for handling availability, scalability and fault tolerance etc. So that I can put a strong case for my target state architecture presentation.


#4
  • Raft protocol for broker consensus. (via Atomix)

  • Gossip protocol for broker topology. (via Atomix)

  • gRPC for client-broker communication (fast, low-overhead, mulitplexes over HTTP2).

  • Append-only event stream on disk for performance.

  • Partitioning for load-distribution across nodes.

  • Replication across nodes for fault-tolerance.

  • First-class client libraries in Go, Java, JavaScript (TypeScript).

  • Community-supported client libraries in C#, Rust, Ruby, Python.

  • Decoupled broker-client architecture, allowing workers to scale elastically to deal with variable system load.

  • Supports a growing subset of BPMN 2.0

  • Open-source, with an active and engaged community on GitHub. The core team accept outside Pull Requests and respond quickly to issues.

  • Pluggable architecture, allowing the event stream to be exported to external systems for processing and analysis.

  • Built by Camunda, a world leader in BPMN and building workflow engines.

  • Designed from the ground-up to meet the use case of managing, orchestrating, and introspecting decoupled Microservices Architectures.

  • Based on the insight and experience gained from systems performing billions of transactions, across multiple clients, worldwide, over the last ten years.