Loading…
0+ curated questions with the same answer shape every time: quick recap, deep dive, pitfalls, and follow-ups. Coverage includes .
Kafka and NATS are the two most common messaging systems in Go microservice architectures, each covering different needs. This module covers the confluent-kafka-go producer (delivery callbacks, async vs sync produce, error handling), the sarama consumer group (the most commonly used Kafka library in the Go community — ConsumeClaim, session.MarkMessage, rebalance handlers), offset management (manual commit, at-least-once vs exactly-once semantics in Go consumers), error handling patterns (dead-letter topics, the poison-pill consumer pattern), and the NATS messaging system — NATS core for at-most-once pub/sub (ideal for metrics, heartbeats, fire-and-forget), NATS JetStream for persistent, at-least-once messaging with consumer groups (the modern NATS persistence layer that competes with Kafka for simpler use cases). The interview comparison question: 'you need a message queue for your Go microservice — when do you pick NATS over Kafka?'
Full catalog
Topics are ordered for learning. Within each topic, rows are numbered 1–0 globally so you always know where you are. Collapse topics if you want a lighter view — use Expand all when you need the full list again.
Numbers 1–0 follow the order we recommend — click any row to open the full answer, or use the sticky Next link at the bottom of each page to go Q1 → Q0.