Event-Driven Local Stack
Use this when your team needs to exercise producer/consumer behavior locally with predictable startup order.
Baseline config
Section titled “Baseline config”{ "services": { "kafka": { "cmd": ["kafka-server-start.sh", "./infra/kafka/server.properties"], "port": 9092, "ready": {"type": "tcp"} }, "producer": { "cmd": ["go", "run", "./cmd/producer"], "dependsOn": ["kafka"] }, "consumer": { "cmd": ["go", "run", "./cmd/consumer"], "dependsOn": ["kafka"] } }}Why it works
Section titled “Why it works”- broker readiness gates both producer and consumer
- producer and consumer are independent of each other at startup
- runtime failures stay visible through one session log stream
Operational tips
Section titled “Operational tips”- keep producer and consumer in the same wave unless one truly blocks the other
- use
get_logswithservicefiltering for each role during incident analysis - keep seed/fixture publishers as
kind: "oneshot"when they should exit after success
When to pick another pattern
Section titled “When to pick another pattern”- if you need cluster scheduling or production-grade broker operations, this is outside FlowLayer scope
- if infra startup is external, use Infra Bootstrap Gate
For scenario examples, see Kafka Producer Consumer.