Improving the performance of the Kafka Streams program
Kafka claims that it is so fast that each broker can handle hundreds of megabytes of data per second from several applications. That is a bold statement. In fact, Kafka has proved to be much faster than this in several success stories. So using Kafka gives you this awesome performance by default. What if that is not sufficient? The answer to this question is scaling. Kafka is built in such a way that Kafka consumers or Kafka Streams applications can be scaled in such a way that they work together as a group. That's where the term "consumer group" kicks in. A consumer group is a group of consumers that share the same ID. Consumers in a consumer group subscribe to the same topic(s); however, each consumer group gets only one copy of each message produced in a topic. This is how Kafka achieves point-to-point behavior using topics. Internally, each consumer in the consumer group will be consuming messages from one dedicated partition. This...