Reducing Microservice Complexity with Kafka and Reactive Streams
summary
Hootsuite migrates from PHP monolith to Scala microservices and uses Apache Kafka plus Akka Streams (reactive-kafka) to extract non‑critical work, provide at-least-once delivery and avoid blocking. Kafka scales (LinkedIn numbers: ~800B messages/day, ~118M/sec, 175TB/day; Hootsuite: hundreds of GB/day), keeps durable replicated partitions, and Akka Streams enforces full back pressure and bounded buffers. Demoed pipeline reads a committable source, uppercases records, writes to another topic, commits offsets on success — it runs and recovers correctly.
AI-written summary · about
chapters (11)
- 0:00Microservices transition at Hootsuite
- 3:10Breaking monolith into microservices
- 7:00Complexity with async messaging
- 9:09Why Kafka for async messaging
- 16:57Kafka message formats
- 19:24Streaming data with Reactive Streams
- 21:09Simplifying streams with Akka Streams
- 25:18Akka Streams with Kafka
- 31:19Demo: Kafka and Akka Streams
- 35:38Summary: microservices and Kafka
- 36:23Q&A: Kafka ordering and monitoring
related talks
33mKafka Microservices with Kafka plus Akka and Kafka Streams
44mKafka based Microservices with Akka Streams and Kafka Streams
41mApache Kafka + Apache Mesos = Highly Scalable Streaming Microservices
59mBuilding Data Intensive Microservices with Apache Kafka
52m10 LESSONS LEARNED FROM USING KAFKA IN 1000 SCALA MICROSERVICES
30m8 Lessons Learned from using Kafka with 1000 microservices
55mBootstrapping Microservices using Akka, Kafka ans Spark
40mDecomposing a live application with confidence
