Reducing Microservice Complexity with Kafka and Reactive Streams - by Jim Riecken
This talk was recorded at Scala Days New York, 2016. Follow along on Twitter @scaladays and on the website for more information http://scaladays.org/. Abstract: Transitioning from a monolithic application to a set of microservices can help increase performance and scalability, but it can also drastically increase complexity. Layers of inter-service network calls for add latency and an increasing risk of failure where previously only local function calls existed. In this talk, I'll speak about how to tame this complexity using Apache Kafka and Reactive Streams to: - Extract non-critical processing from the critical path of your application to reduce request latency - Provide back-pressure to handle both slow and fast producers/consumers - Maintain high availability, high performance, and reliable messaging - Evolve message payloads while maintaining backwards and forwards compatibility.