From: Kai Moritz Date: Wed, 14 Jun 2023 20:46:49 +0000 (+0200) Subject: Die auskommentierten nicht sinnvollen Experimente entfernt X-Git-Tag: producer/rest-producer--acks---2023-06-signal~1 X-Git-Url: http://juplo.de/gitweb/?a=commitdiff_plain;h=94bc9ba1b1c10c23b4113405da2dec9166cac69a;p=demos%2Fkafka%2Ftraining Die auskommentierten nicht sinnvollen Experimente entfernt * Wenn _gar kein_ Broker mehr erreichbar ist, können keine Interessanten Unterschied oder Fehler beobachtet werden! * Die mit `acks=1` geschriebene Nachricht kann auch schon gelesen werden, wenn nur ein Broker läuft, also wenn die Anforderung von `min.insync.replicas` _nicht_ erfüllt ist. * Grund: Der Producer fordert hier ja explizit an, dass die Nachricht bestätigt werden darf, wenn _nur eine Kopie_ vorliegt. * Damit gibt der Producer die Nachricht _auch_ für das Lesen durch Consumer frei, da diesen nur Nachrichten vorenthalten werden, die _aus der Sicht des Producers_ noch gar nicht geschrieben wurden! --- diff --git a/README.sh b/README.sh index 1462828..57506e6 100755 --- a/README.sh +++ b/README.sh @@ -49,25 +49,5 @@ echo -n kafka-1 und kafka-3 wurden beendet über acks-0 | http -v :8080/foo echo -n kafka-1 und kafka-3 wurden beendet über acks-1 | http -v :8081/foo echo -n kafka-1 und kafka-3 wurden beendet über acks-all | http -v :8082/foo -# echo "Stopping kafka-2" -# docker-compose -f docker/docker-compose.yml stop kafka-2 -# echo "Restarting acks-0 acks-1 acks-all" -# docker-compose -f docker/docker-compose.yml restart acks-0 acks-1 acks-all -# while ! [[ $(http 0:8080/actuator/health 2> /dev/null) =~ "UP" ]]; do echo "Waiting for acks-0..."; sleep 1; done -# while ! [[ $(http 0:8081/actuator/health 2> /dev/null) =~ "UP" ]]; do echo "Waiting for acks-1..."; sleep 1; done -# while ! [[ $(http 0:8082/actuator/health 2> /dev/null) =~ "UP" ]]; do echo "Waiting for acks-all..."; sleep 1; done -# -# echo -n Alle Broker wurden beendet über acks-0 | http -v :8080/mit-acks-0 -# echo -n Alle Broker wurden beendet über acks-1 | http -v :8081/mit-acks-1 -# echo -n Alle Broker wurden beendet über acks-all | http -v :8082/mit-acks-all - echo "Reading all messages, that were really written:" kafkacat -b :9092 -t test -o 0 -f'key: %k\toffset: %o\tvalue: %s\n' -qe - -# echo "Restarting all brokers" -# docker-compose -f docker/docker-compose.yml up -d kafka-1 kafka-2 kafka-3 -# echo "Waiting for the Kafka-Cluster to become ready..." -# docker-compose -f docker/docker-compose.yml run --rm cli cub kafka-ready -b kafka:9092 3 60 > /dev/null 2>&1 || exit 1 -# sleep 1 -# echo "Reading all messages, that were really written eventually:" -# kafkacat -b :9092 -t test -o 0 -f'key: %k\toffset: %o\tvalue: %s\n' -qe