EKBATAN v0.1.0
Concepts Learn Reference
Menu
Concepts Learn Reference
GitHub ↗
§Concepts

The why behind the framework.

Reference docs tell you what each class does. Tutorials show you what to type. These pages explain the model the framework rests on — the dual-write trap that prompted it, the primitives it factors into, the trade-offs each choice inherits. Read them once and the rest of the surface reads like notation.

01

The dual-write trap

Why writing to a database and to Kafka separately is the bug your monitoring will eventually find for you — and what an outbox-pattern-by-construction framework looks like instead.

02

The outbox: atomic state + events

The framework's central guarantee: every action's commit is a single database transaction that touches as many domain tables as the action needs plus the eventlog outbox. They land together, or none of them do.

03

Actions, ActionPlan, ActionExecutor

The two-phase lifecycle: pure construction in Phase 1, single-transaction persistence in Phase 2. Why your action code never opens a transaction itself.

04

Models and Entities

Models emit events when they change; Entities don't. Why the distinction matters and where each fits.

05

Sharding strategies

Single-database, embedded-bits UUID, policy-axis routing — what each costs and when each is appropriate. Two axes (policy + capacity) and why splitting them matters.

EKBATAN

Apache 2.0 · io.github.zyraz-io

Links
  • GitHub
  • Maven Central
  • Apache License 2.0
Built with
  • Java 25 · Virtual threads
  • jOOQ
  • Spring · Quarkus · Micronaut
© 2026 zyraz.io made with conviction