Apache Kafka
An event streaming and processing system written in Java. It can be thought of as a distributed append-only log. For a simple message broker, Kafka is overkill.
Features:
- Permanent storage
- Strict message order
- Easy horizontal scalability
- Kafka Streams: message filters, joins, aggregations, etc
- Kafka Connect: connectors to external systems such as PostgreSQL for data import/export
Learn
Concepts:
- Event: a recorded fact that something has happened
- Topic: an ordered collection of events
- Producer: a client that publishes events
- Consumer: a client that subscribes to events