Capstone & Synthesis
Every module built or hardened one piece. Here's the whole system, fully assembled — and where to go if you want to push past what this site covers.
Learning objectives
- Beginner: Point to which module built or hardened each piece of the finished producer/consumer system.
- Intermediate: Explain how the full system's pieces (producer, Kafka, consumer, Postgres, REST, Docker, Kubernetes) fit together end to end.
- Advanced: Extend the capstone system with a genuinely new capability without breaking its existing reliability/security guarantees.
Every piece from Modules 01–21, assembled: two Kubernetes-deployed, health-probed services connected only through a secured, hardened Kafka cluster, with a Dead Letter Topic for recovery and PostgreSQL owned solely by the consumer.
| Capability | Modules |
|---|---|
| Explain Kafka architecture and core internals confidently, including leader election and ISR | 01, 02, 03 |
| Build a Kafka producer and consumer microservice pair in Spring Boot from scratch | 04, 06, 09 |
| Persist consumed events into PostgreSQL with proper schema versioning | 10 |
| Write unit, integration, and Embedded Kafka tests for both services | 07, 11 |
| Configure a producer for real durability guarantees, and understand exactly what each setting trades away | 13 |
| Design a consumer error-handling strategy with retry, backoff, and dead-letter recovery | 14, 15 |
| Implement true exactly-once semantics across multiple writes | 16 |
| Package, containerize, and deploy both services to Kubernetes with health probes, config, and secrets | 17–20 |
| Secure the Kafka connection itself with SSL/TLS | 21 |
| Use a spec-driven, agentic AI workflow to build all of the above consistently | 05 |
◆ Beyond what's covered here
These are not covered anywhere else on this site — they're suggested extensions if you want to keep going past what's taught here: Add a third microservice — a notification service that also consumes library-events, proving the "any number of independent consumers" claim from Module 01 with a real second consumer group. Introduce Kafka Streams — transform library-events into a derived, aggregated topic (e.g. books-per-author counts) instead of only terminating in a database. Add a Schema Registry — replace the hand-rolled Jackson (de)serialization from Modules 06/09 with Avro or Protobuf and centrally enforced schema compatibility rules. Add Kafka Connect — sync the consumer's PostgreSQL table to a search index (e.g. Elasticsearch) via a connector instead of custom code.
✓ Final check
If every row in the §22.2 table feels concrete rather than aspirational — if you could sit down right now and sketch the producer's send() path from web thread to broker acknowledgment, or explain exactly what your min.insync.replicas setting is protecting you from — this site has done its job. Go build something.
Want a visual for this concept?
Generate a diagram tailored to “Capstone & Synthesis” — the AI picks whichever visual (flowchart, comparison, sequence, etc.) best fits.
Sign in to generate a visual →