Kafka is a distributed publish-subscribe messaging system.
Kafka Streams can process streams of records (it's similar to Apache Spark and Flink).
Cluster -> a group of Kafka brokers lead by a Zookeeper instance
Broker -> a Kafka daemon/node/instance/server
Topic -> a category/feed to which records are published
Record -> has a key, a value/message and a timestamp
Partition -> a partitioned log; many make up a topic; each has a broker leader
Replica -> a copy of a partition; brokers who own them are followers
Consumer -> a program which reads data from a topic
Producer -> a program which writes data to a topic
Connect -> a program which transfers data between Kafka and an external system
Stream -> a program which consumes, transforms and publishes data from one topic to another