What is Kafka?
Apache Kafka is a distributed commit log for fast, fault-tolerant communication between producers and consumers using message based topics. Kafka provides the messaging backbone for building a new generation of distributed applications capable of handling billions of events and millions of transactions
Take Control of Your Events
Events are everywhere — user activity streams, log events, telemetry from embedded devices and mobile phones, and more. Kafka flips the script from push to pull, letting you take control of high volume event streams in your applications to transform the customer experience. With Kafka, you can accept inbound events at any scale with ease and route them to key-based partitions, providing a clear path to real-time stream processing for user activity tracking, ad tracking, IoT, mobile sync and messaging systems.
Build Modern Application Architectures
Application architectures like microservices require new approaches to coordination, scaling and orchestration. Kafka’s pull based communication model reduces backpressure on key services under load, letting you add and scale new services independently. Kafka enables moving from actor to channel centric app dev models, simplifying services discovery and reducing brittle RPC style and many-to-many coordination between services.
New Ways to Process Data and Time
Kafka lets you rethink the relationship between data, time and operations in your application. Kafka takes transactional data in tables and reduces it to a series of events, each representing a keyed record and operation at a point in time. This lets you create a record of all change events in your application for data recovery, replay, simulation and auditing. These same primitives let you build powerful data processing pipelines for analytics and transformation use cases, with consumers reading data from a set of topics, applying functions, and writing the output to a new set of topics.