Ich lerne etwas über Kafka und lese hier den Einführungsabschnitt
https://kafka.apache.org/documentation.html#introduction
speziell der Teil über Verbraucher. Im vorletzten Absatz der Einleitung heißt es
Kafka macht es besser. Durch den Begriff der Parallelität - der Partition - innerhalb der Themen kann Kafka sowohl Bestellgarantien als auch Lastausgleich über einen Pool von Verbraucherprozessen bereitstellen. Dies wird erreicht, indem die Partitionen im Thema den Verbrauchern in der Verbrauchergruppe zugewiesen werden, sodass jede Partition von genau einem Verbraucher in der Gruppe verwendet wird. Auf diese Weise stellen wir sicher, dass der Verbraucher der einzige Leser dieser Partition ist und die Daten in der richtigen Reihenfolge verwendet. Da es viele Partitionen gibt, wird die Last immer noch auf viele Consumer-Instanzen verteilt. Beachten Sie jedoch, dass es nicht mehr Consumer-Instanzen als Partitionen geben kann.
Meine Verwirrung ergibt sich aus diesem letzten Satz, denn im Bild rechts über dem Absatz, in dem der Autor zwei Verbrauchergruppen und ein Thema mit vier Partitionen darstellt, gibt es mehr Verbraucherinstanzen als Partitionen!
Es macht auch keinen Sinn, dass es nicht mehr Consumer-Instanzen als Partitionen geben kann, da dann Partitionen unglaublich klein wären und der Aufwand beim Erstellen einer neuen Partition für jede Consumer-Instanz Kafka zum Erliegen bringen würde. Ich verstehe, dass Partitionen zur Fehlertoleranz und zur Reduzierung der Auslastung eines Servers verwendet werden, aber der obige Satz ist im Kontext eines verteilten Systems, das Tausende von Verbrauchern gleichzeitig verarbeiten soll, nicht sinnvoll.