advanced~2h

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.

CapabilityModules
Explain Kafka architecture and core internals confidently, including leader election and ISR01, 02, 03
Build a Kafka producer and consumer microservice pair in Spring Boot from scratch04, 06, 09
Persist consumed events into PostgreSQL with proper schema versioning10
Write unit, integration, and Embedded Kafka tests for both services07, 11
Configure a producer for real durability guarantees, and understand exactly what each setting trades away13
Design a consumer error-handling strategy with retry, backoff, and dead-letter recovery14, 15
Implement true exactly-once semantics across multiple writes16
Package, containerize, and deploy both services to Kubernetes with health probes, config, and secrets17–20
Secure the Kafka connection itself with SSL/TLS21
Use a spec-driven, agentic AI workflow to build all of the above consistently05

◆ 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 →

Practice quiz

Next Step

Practice interview questions on this topic →← Back to all Kafka & Microservices chapters