jonnifyechomq

Overview

One system,
three pillars

Start here: what EchoMQ is, the one wire it owns, and the three surfaces that fall out of it.

EchoMQ is one Valkey-native job system you own end to end. Its keys, its record fields and its atomic transitions are the protocol; draw the line there and three surfaces fall out of one wire — the Queue that distributes work, the Bus that broadcasts signals and keeps a replayable log, and the Cache that serves reads. This chapter sets the frame: the three pillars, the protocol below the line that makes them polyglot and coherent, the door from Redis Patterns Applied, and what EchoMQ means for the Branded Component System it is the bus of. Three short dives carry it.

The protocol below the line

What makes one wire serve three surfaces, in any language? A line. EchoMQ records its design as a stack: the bottom layers are the protocol — fixed and shared by everything that speaks it; the top layers are the runtime's own. L0 is Valkey itself: the scripts are cluster-legal (every key of a transition hashes to its queue's one slot) and the connector talks to one server; the native module runs on a standalone server that loads it at start. L1 is the data layer: which key holds which structure, and the field names. L2 is the set of atomic transitions that move a record between states, run as Lua scripts by the connector, and for the core job transitions also as native EMQ.* commands inside the server, bound by the same keys, fields and replies. L3 is the executor: the scripted connector loads each script once and runs it by SHA, reloading on NOSCRIPT; a native client sends the command name and loads nothing. L4 is the language API a caller invokes. Pick a layer to read its scope and whether it is shared.

The layer stack · pick a layer

L4 Language API · EchoMQ.Jobs.enqueue, Consumer L3 Executor · EVALSHA, or an EMQ.* command — shared below this line — L2 Transitions · Lua scripts or EMQ.* commands L1 Data Layer · keys, structures, field names L0 Valkey · the engine (external)
L2 Atomic transitions — scope: Lua scripts, and native EMQ.* commands for the core job transitions. Status: SHARED — fixed for every runtime. one atomic server-side step per transition, bound by the same keys, fields and replies on either executor.

The shared line falls between L2 and L3: below it the protocol is fixed and shared; above it, every runtime writes its own code. That single placement is what lets one wire serve three pillars — and what lets any runtime speak it.

The three orienting dives

Three short dives carry the orientation in a what → why → where arc, before the depth chapters teach the mechanism.

Up next — the depth chapters

Read the Protocol next — the substrate the three pillars share. Then take the pillar you need: the Queue, the Bus, the Cache. The Proof chapter shows the system holds: the conformance suite, telemetry and the read plane. Each closes with a hands-on workshop.

References

Sources

Related in this course