Apache Kafka is a publish/subscribe messaging system. Technically, it is a distributed, partitioned, replicated commit log (record of transactions) service. It provides high-throughput, low-latency platform for handling real-time data feeds.
Though it provides high performance, using it reliably is not trivial.
Here's the presentation I gave on the topic:
https://www.slideshare.net/ronaldo007/kafka-in-action-tech-talk
It's very impressive piece of software that combines elegant and simple architecture with impressive performance. It's popularity is well deserved. Nice slides BTW.