From: Kai Moritz Date: Fri, 14 Apr 2023 09:51:40 +0000 (+0200) Subject: NEU X-Git-Tag: kafkadata~28 X-Git-Url: https://juplo.de/gitweb/?a=commitdiff_plain;h=6324e85c08d1b45981eca2637ab81b7899ba1c84;hp=8d2d6ec211a5254aed17b9393948108a7a12b4b6;p=demos%2Fkafka%2Fchat NEU --- diff --git a/README.txt b/README.txt index a7c7f849..b6a9be42 100644 --- a/README.txt +++ b/README.txt @@ -27,6 +27,19 @@ Aktuelle Idee für die Kafka-Anbindung Zugriffe eine `ShardNotOwnedException` erzeugt. - Dadurch wird das Zustands-Handling *extrem vereinfacht*, da Anfragen, die *während* einem Rebalance auflaufen +- *Lade-Modus vs. Default-Modus:* + - Nur während des Lade-Modus *liest* die `KafkaChatRoomServcie`-Instanz + tatsächlich die Nachrichten aus den zugeordneten Partitionen. + - Im Default-Modus *schreibt* sie die Nachrichten nur in die Partitionen + und speichert sie lokal ab, sobald die *Bestätigung durch den `Producer`* + erfolgt. + - D.h. insbesondere, dass der `KafkaConsumer` im Default-Modus für alle + zugeordneten Partitionen *pausiert* wird! + - Damit die Offset-Positon nicht unnötig zurückfällt, sollte ggf. + regelmäßig für alle zugeordneten Partitionen ein Seek auf die zuletzt + vom Producer bestätigt geschriebenen Offsets durchgeführt werden. + - *Beachte:_ Dies ist nicht nötig, wenn die Offsets eh in den lokal + gespeicherten Daten gehalten und aus diesen wiederhergestellt werden! - *Umsetzungs-Details:* - Da die in dem Interface `ConsumerRebalanceListener` definierten Methoden in einem zeitkritischem Setting laufen, muss das eigentliche Laden der