Zużycie wiadomości Apache Kafka, gdy liczba partycji przewyższa liczbę konsumentów

Jeśli prowadzę klaster Kafka z większą liczbą partycji niż moja samotna grupa konsumentów ma konsumentów. Czy są jakieś gwarancje przy zamawianiu wiadomości lub terminowe dostarczanie wiadomości między partycjami?

Prosty przykład:
2 partycje, 1 konsument
Producenci kontrolują przypisanie partycji za pomocą klucza.
Wiadomość 1 przychodzi i przechodzi do partycji A
Wiadomość 2 przychodzi i przechodzi do partycji B
Wiadomość 3 przychodzi i przechodzi do partycji A

Wiem, że wiadomość 1 zostanie zużyta przed wiadomością 3, ponieważ znajdują się na tej samej partycji. Ale co z wiadomością 2? Czy zostanie zużyty przed wiadomością 3 czy później? Czy może się różnić? Czy możliwe, że zostanie zużyte przed wiadomością 1?

Co więcej, jeśli pojawią się nowe Wiadomości dla Partycji A i produkcja będzie szybsza niż konsumpcja? Czy wiadomość 2 będzie w nieskończoność w partycji B? Kiedy zostanie skonsumowany? Czy są jakieś gwarancje, że wiadomości nie będą tam siedzieć wiecznie?

Bardziej ogólnie: jeśli konsument jest przypisany do wielu partycji, jak i kiedy ten konsument zamienia się między tymi partycjami?

questionAnswers(1)

yourAnswerToTheQuestion