]> juplo.de Git - demos/kafka/training/log
demos/kafka/training
10 days agoBatching zeitnah versendeter Nachrichten ermöglicht
Kai Moritz [Sun, 15 Mar 2026 14:47:41 +0000 (15:47 +0100)]
Batching zeitnah versendeter Nachrichten ermöglicht

* Durch den Aufruf der blockierenden Methode `get()` wurde erzwungen, das
  der Versand einer Nachricht von Kafka bestätigt wurde, bevor die
  nächste Nachricht an Kafka übergeben werden konnte.
* Der blockierende Aufruf wurde jetzt in eine getrennte asynchrone
  Verarbeitung (in dem Default-Thread-Pool) verschoben.
* Dadurch können jetzt mehrere für den Versand bereitgestellte Nachrichten
  hintereinander an Kafka übergeben werden.
* _Beachte:_ Der Effekt wird erst dann wirklich deutlich, wenn das
  Throttling über `Thread.sleep(500)` deaktiviert wird!
* _Beachte:_ Da die Verarbeitung der Rückmeldung von Kafka über den
  Default-Thread-Pool erfolgt, erfolgt die Erzeugung der Log-Ausgaben
  asynchron in verschiedenen Threads. D.h., die Log-Meldungen werden
  _nicht_ in der Reihenfolge ausgegeben, in der die Nachrichten versendet
  wurden, was auf den ersten Blick sehr verwirrend ist!

10 days agoDie begrenzte Queue mit Blocking wird nicht mehr benötigt
Kai Moritz [Sun, 15 Mar 2026 15:55:13 +0000 (16:55 +0100)]
Die begrenzte Queue mit Blocking wird nicht mehr benötigt

10 days agoFehler korrigiert: Shutdown wartet auf Versand der wartenden Nachrichten
Kai Moritz [Sun, 15 Mar 2026 10:48:08 +0000 (11:48 +0100)]
Fehler korrigiert: Shutdown wartet auf Versand der wartenden Nachrichten

* Über die Verwendung einer Semaphore wird sichergestellt, dass alle
  für das Queuing übergebenen Nachrichten auch an Kafka übergeben werden,
  bevor `KafkaProducer.close()` aufgerufen wird
* Ansonsten wurden geschedulte Nachrichten teilweise erst an den Producer
  übergeben, nachdem dieser bereits geschlossen wurde, so dass es zu
  Fehlern gekommen ist.

10 days agoFehler korrigiert: Erhalt der Sendereihenfolge trotz `supplyAsync()`
Kai Moritz [Sun, 15 Mar 2026 15:45:23 +0000 (16:45 +0100)]
Fehler korrigiert: Erhalt der Sendereihenfolge trotz `supplyAsync()`

* Für die Ausführung wird jetzt ein Executor mit nur einem Thread verwendet
* Dadurch ist sichergestellt, dass die Reihenfolge erhalten bleibt

10 days agoLog-Meldung für das Queuing der Nachricht ergänzt
Kai Moritz [Fri, 14 Mar 2025 09:34:30 +0000 (10:34 +0100)]
Log-Meldung für das Queuing der Nachricht ergänzt

10 days agoErgebniskontrolle über das zurückgegebenen Future<RecordMetadata>
Kai Moritz [Fri, 14 Mar 2025 09:21:52 +0000 (10:21 +0100)]
Ergebniskontrolle über das zurückgegebenen Future<RecordMetadata>

10 days agoLimits für die Definition des Service `producer` ergänzt grundlagen/simple-producer--2026-03--vor-branchumbenennung--springframework grundlagen/simple-producer--2026-03-20 grundlagen/simple-producer--2026-03-20--19-06 grundlagen/simple-producer--2026-03-21--smartlifecycle-only
Kai Moritz [Sun, 15 Mar 2026 09:00:49 +0000 (10:00 +0100)]
Limits für die Definition des Service `producer` ergänzt

* Dadurch wird die Gefahr eingegrenzt, dass der Arbeitsplatz eines TN
  überlastet wird.
* Dies ist einigen TN passiert, weil sie den `ExampleProducer` ohne
  `Thread.sleep(500)` als Image gebaut haben.
* Wenn dieser dann unbedacht im Hintergrund weiterläuft, kann das den
  Rechner schnell lahm legen...

10 days agoEindeutigere Benennung der erfassten Zeitstempel
Kai Moritz [Sat, 14 Mar 2026 15:00:57 +0000 (16:00 +0100)]
Eindeutigere Benennung der erfassten Zeitstempel

10 days agoUpgrade von Spring-Boot 3.4.1 -> 4.0.2 (grundlagen/simple-producer)
Kai Moritz [Wed, 11 Mar 2026 21:04:58 +0000 (22:04 +0100)]
Upgrade von Spring-Boot 3.4.1 -> 4.0.2 (grundlagen/simple-producer)

10 days agoDer Producer zählt statt der gesendeten Nachrichten die in der Queue
Kai Moritz [Fri, 14 Mar 2025 15:49:04 +0000 (16:49 +0100)]
Der Producer zählt statt der gesendeten Nachrichten die in der Queue

10 days agoFehlermeldung & Abbruch anstatt hartkodierter Standard-Konfig
Kai Moritz [Wed, 12 Mar 2025 05:52:43 +0000 (06:52 +0100)]
Fehlermeldung & Abbruch anstatt hartkodierter Standard-Konfig

10 days agoEinrückung so, wie es IntelliJ will...
Kai Moritz [Thu, 20 Feb 2025 17:59:22 +0000 (18:59 +0100)]
Einrückung so, wie es IntelliJ will...

10 days ago`build.gradle` so erweitert, dass das Image gebaut werden kann
Kai Moritz [Wed, 22 Jan 2025 18:33:54 +0000 (19:33 +0100)]
`build.gradle` so erweitert, dass das Image gebaut werden kann

10 days agoGradle-Wrapper entfernt
Kai Moritz [Wed, 22 Jan 2025 18:02:36 +0000 (19:02 +0100)]
Gradle-Wrapper entfernt

10 days agoGradle-Konfiguration für Version 8.11.1 hinzugefügt (mit Wrapper!)
Kai Moritz [Wed, 22 Jan 2025 18:01:14 +0000 (19:01 +0100)]
Gradle-Konfiguration für Version 8.11.1 hinzugefügt (mit Wrapper!)

10 days agoLombok benötigt nur den Scope `compile`
Kai Moritz [Wed, 22 Jan 2025 17:49:47 +0000 (18:49 +0100)]
Lombok benötigt nur den Scope `compile`

10 days agoMaven-Wrapper wieder entfernt - Stört Firewalls beim verschicken
Kai Moritz [Wed, 22 Jan 2025 17:27:59 +0000 (18:27 +0100)]
Maven-Wrapper wieder entfernt - Stört Firewalls beim verschicken

10 days agoPartition & Offset stehen eindeutig in der Log-Meldung
Kai Moritz [Mon, 20 Jan 2025 16:00:46 +0000 (17:00 +0100)]
Partition & Offset stehen eindeutig in der Log-Meldung

10 days agoLogmeldungen verwenden Methodenparameter, wo möglich
Kai Moritz [Sun, 19 Jan 2025 09:56:05 +0000 (10:56 +0100)]
Logmeldungen verwenden Methodenparameter, wo möglich

10 days agoMaven-Wrapper von Spring-Boot ergänzt und `README.sh` angepasst
Kai Moritz [Fri, 17 Jan 2025 17:36:41 +0000 (18:36 +0100)]
Maven-Wrapper von Spring-Boot ergänzt und `README.sh` angepasst

10 days agoSpring-Boot auf 3.4.1 aktualisiert
Kai Moritz [Fri, 17 Jan 2025 17:36:23 +0000 (18:36 +0100)]
Spring-Boot auf 3.4.1 aktualisiert

10 days agoBei einem unerwarteten Fehler wird auch der Stacktrace mit ausgegeben
Kai Moritz [Fri, 1 Nov 2024 14:53:17 +0000 (15:53 +0100)]
Bei einem unerwarteten Fehler wird auch der Stacktrace mit ausgegeben

10 days agoDer Nachrichten-Wert wird in allen Log-Meldungen mit ausgegeben
Kai Moritz [Thu, 31 Oct 2024 23:52:44 +0000 (00:52 +0100)]
Der Nachrichten-Wert wird in allen Log-Meldungen mit ausgegeben

10 days agoLogging-Pattern überarbeitet
Kai Moritz [Mon, 28 Oct 2024 11:03:50 +0000 (12:03 +0100)]
Logging-Pattern überarbeitet

10 days agoUnnötige Kommandos aus der `README.sh` entfernt
Kai Moritz [Sun, 29 Sep 2024 07:44:09 +0000 (09:44 +0200)]
Unnötige Kommandos aus der `README.sh` entfernt

10 days ago`docker` in `simple-producer` verwandelt`
Kai Moritz [Sat, 28 Sep 2024 05:49:04 +0000 (07:49 +0200)]
`docker` in `simple-producer` verwandelt`

10 days agoCPU/Memory-Limits in dem Setup für Docker-Compose ergänzt grundlagen/docker grundlagen/docker--2026-03--vor-branchumbenennung--springframework grundlagen/docker--2026-03-20 grundlagen/docker--2026-03-20--19-06 grundlagen/docker--2026-03-21--smartlifecycle-only grundlagen/docker--2026-03-22--20-47 grundlagen/docker--2026-03-22--22-01 grundlagen/docker--2026-03-lvm
Kai Moritz [Sat, 14 Mar 2026 18:28:22 +0000 (19:28 +0100)]
CPU/Memory-Limits in dem Setup für Docker-Compose ergänzt

12 days agoSetup für Docker von COMBINED auf ISOLATED (mit einem Controller) umgestellt
Kai Moritz [Fri, 13 Mar 2026 19:57:58 +0000 (20:57 +0100)]
Setup für Docker von COMBINED auf ISOLATED (mit einem Controller) umgestellt

12 days agoSetup für Docker Compose auf Image `apache/kafka` und KRAFT umgestellt
Kai Moritz [Fri, 13 Mar 2026 18:07:34 +0000 (19:07 +0100)]
Setup für Docker Compose auf Image `apache/kafka` und KRAFT umgestellt

12 days agoFehler im Docker-Setup: log.interval.check.retention.ms war uneinheitlich
Kai Moritz [Fri, 13 Mar 2026 18:59:28 +0000 (19:59 +0100)]
Fehler im Docker-Setup: log.interval.check.retention.ms war uneinheitlich

14 months agoSchema-Registry & Connect aus dem Setup für die Grundlagen entfernt grundlagen/docker--2025-01-signal grundlagen/docker--2025-01-signal-gradle grundlagen/docker--2025-02-signal grundlagen/docker--2025-03-18--19-42 grundlagen/docker--2025-03-signal grundlagen/docker--2025-04-signal grundlagen/docker--2025-04-signal-spickzettel grundlagen/docker--2025-05-lvm grundlagen/docker--2025-05-lvm--spickzettel grundlagen/docker--2025-05-signal-spickzettel grundlagen/docker--2025-07-05 grundlagen/docker--COMMITS--2025-02 grundlagen/docker--generics grundlagen/docker--generics4all grundlagen/docker--generics4some
Kai Moritz [Sat, 18 Jan 2025 08:53:21 +0000 (09:53 +0100)]
Schema-Registry & Connect aus dem Setup für die Grundlagen entfernt

14 months agoZoonavigator aus dem Docker-Setup entfernt
Kai Moritz [Sat, 18 Jan 2025 08:52:57 +0000 (09:52 +0100)]
Zoonavigator aus dem Docker-Setup entfernt

14 months agoKafka-Images auf 7.8.0 aktualisiert
Kai Moritz [Sat, 18 Jan 2025 08:51:52 +0000 (09:51 +0100)]
Kafka-Images auf 7.8.0 aktualisiert

16 months ago`log.retention.check.interval.ms` auf 10 Sekunden gesetzt
Kai Moritz [Sat, 26 Oct 2024 17:42:02 +0000 (19:42 +0200)]
`log.retention.check.interval.ms` auf 10 Sekunden gesetzt

17 months ago``version``-Eintrag in `docker-compose.yml` entfernt
Kai Moritz [Sat, 28 Sep 2024 09:08:51 +0000 (11:08 +0200)]
``version``-Eintrag in `docker-compose.yml` entfernt

17 months ago"Final Newline" in `.editorconfig` gefordert (scheint vim zu entsprechen)
Kai Moritz [Sat, 28 Sep 2024 07:42:36 +0000 (09:42 +0200)]
"Final Newline" in `.editorconfig` gefordert (scheint vim zu entsprechen)

17 months ago`.gitignore` und `.editorconfig` hinzugefügt
Kai Moritz [Sat, 28 Sep 2024 06:35:51 +0000 (08:35 +0200)]
`.gitignore` und `.editorconfig` hinzugefügt

17 months agoSchreibweise des CLI-Kommandos für Docker-Compose korrigiert
Kai Moritz [Sat, 28 Sep 2024 05:43:48 +0000 (07:43 +0200)]
Schreibweise des CLI-Kommandos für Docker-Compose korrigiert

17 months agoUpgrade der verwendeten Kafka-Images auf 7.7.1
Kai Moritz [Wed, 25 Sep 2024 12:26:14 +0000 (14:26 +0200)]
Upgrade der verwendeten Kafka-Images auf 7.7.1

2 years agoZooNavigator in den Demo-Stack aufgenommen
Kai Moritz [Sun, 8 Oct 2023 13:23:57 +0000 (15:23 +0200)]
ZooNavigator in den Demo-Stack aufgenommen

2 years ago`README.sh` bricht ab, wenn `setup` nicht erfolgreich ist!
Kai Moritz [Sat, 14 Oct 2023 17:25:10 +0000 (19:25 +0200)]
`README.sh` bricht ab, wenn `setup` nicht erfolgreich ist!

2 years agoStart von Service `setup` startet auch `cli`
Kai Moritz [Fri, 13 Oct 2023 11:39:45 +0000 (13:39 +0200)]
Start von Service `setup` startet auch `cli`

2 years agoDer Service `setup` wartet bereits auf den Cluster
Kai Moritz [Sat, 14 Oct 2023 16:44:10 +0000 (18:44 +0200)]
Der Service `setup` wartet bereits auf den Cluster

2 years agoGrace-Period für Broker und cli/setup gesetzt
Kai Moritz [Fri, 13 Oct 2023 08:17:23 +0000 (10:17 +0200)]
Grace-Period für Broker und cli/setup gesetzt

2 years agoSchönere YAML-Syntax für `setup`-Service
Kai Moritz [Fri, 6 Oct 2023 17:13:41 +0000 (19:13 +0200)]
Schönere YAML-Syntax für `setup`-Service

2 years agoServices `schema-registry` und `connect` hinzugefügt
Kai Moritz [Fri, 6 Oct 2023 14:28:46 +0000 (16:28 +0200)]
Services `schema-registry` und `connect` hinzugefügt

2 years agoHilfs-Services `setup` überarbeitet
Kai Moritz [Fri, 6 Oct 2023 13:12:37 +0000 (15:12 +0200)]
Hilfs-Services `setup` überarbeitet

2 years agoVolumes für die Log-/Config-Daten und Zookeeper hinzugefügt
Kai Moritz [Mon, 16 Oct 2023 19:13:52 +0000 (21:13 +0200)]
Volumes für die Log-/Config-Daten und Zookeeper hinzugefügt

2 years agoSetup zurück auf Confluent (Version 7.5.1) mit Zookeeper umestellt
Kai Moritz [Mon, 16 Oct 2023 19:05:08 +0000 (21:05 +0200)]
Setup zurück auf Confluent (Version 7.5.1) mit Zookeeper umestellt

2 years agoAKHQ auf einen eindeutigeren Port verlegt grundlagen/docker---2023-06-signal
Kai Moritz [Mon, 12 Jun 2023 19:21:06 +0000 (21:21 +0200)]
AKHQ auf einen eindeutigeren Port verlegt

2 years agoAutomatisches entfernen von Orphans beim Start
Kai Moritz [Sun, 11 Jun 2023 21:14:51 +0000 (23:14 +0200)]
Automatisches entfernen von Orphans beim Start

2 years agoDocker-Setup in das Unterverzeichnis `docker` verschoben
Kai Moritz [Sun, 11 Jun 2023 12:46:07 +0000 (14:46 +0200)]
Docker-Setup in das Unterverzeichnis `docker` verschoben

2 years agoDocker-Setup auf `bitnami/kafka:3.4` aktualisiert und vereinfacht
Kai Moritz [Sun, 11 Jun 2023 11:55:20 +0000 (13:55 +0200)]
Docker-Setup auf `bitnami/kafka:3.4` aktualisiert und vereinfacht

* Die Konfiguration musste an (undokumentierte?!) Änderungen in der
  version 3.4 von `bitnami/kafka` angepasst werden.
* Die drei Broker spielen jetzt gleichzeitig Controller. D.h., der
  Service `kafka-0`, der explizit Controller gespielt hat, fällt weg.

2 years agoBedienbarkeit des Setups verbessert
Kai Moritz [Thu, 8 Jun 2023 08:35:41 +0000 (10:35 +0200)]
Bedienbarkeit des Setups verbessert

* Setup starten mit `docker-compose up -t0 -d cli`
** Dabei wird _nicht_ automatisch das Topic `test` neu angelegt
** D.h., die Daten gehen nicht unbeabsichtigt verloren, wenn man mit
   `up -d` prüft, ob noc alles läuft!
* Das Topic `test` kan mit `docker-compose restart -t0 setup` explizit
  gelöscht und neu angelegt (aka geleert) werden.

3 years ago`docker-compose up setup` startet auch die cli docker--2023-02-signal
Kai Moritz [Thu, 8 Dec 2022 17:38:43 +0000 (18:38 +0100)]
`docker-compose up setup` startet auch die cli

3 years agoAKHQ zu dem Basis-Setup hinzugefügt
Kai Moritz [Thu, 8 Dec 2022 17:37:08 +0000 (18:37 +0100)]
AKHQ zu dem Basis-Setup hinzugefügt

3 years agoCompose-Setup auf bitnami mit KRAFT umgestellt docker--lvm-2-tage--easy-path
Kai Moritz [Mon, 21 Nov 2022 21:58:22 +0000 (22:58 +0100)]
Compose-Setup auf bitnami mit KRAFT umgestellt

* Setup aus Unterschied zu `spring-consumer--json--adder` übernommen.
* Auch das `README.sh` entsprechend angepasst.

3 years agoFür ordering-Übung werden zwei Partitionen benötigt! docker---lvm-2-tage
Kai Moritz [Tue, 26 Jul 2022 17:58:49 +0000 (19:58 +0200)]
Für ordering-Übung werden zwei Partitionen benötigt!

3 years agoSetup mit 3 Broker und Topic-Erzeugung mit Setup für acks-Übung
Kai Moritz [Tue, 26 Jul 2022 17:52:28 +0000 (19:52 +0200)]
Setup mit 3 Broker und Topic-Erzeugung mit Setup für acks-Übung

3 years agoMerge der Upgrades für Confluent/Spring-Boot (Branch 'first-contact')
Kai Moritz [Fri, 22 Jul 2022 18:50:15 +0000 (20:50 +0200)]
Merge der Upgrades für Confluent/Spring-Boot (Branch 'first-contact')

3 years agoUpgrade von Spring Boot und den Confluent-Kafka-Images
Kai Moritz [Fri, 22 Jul 2022 18:04:07 +0000 (20:04 +0200)]
Upgrade von Spring Boot und den Confluent-Kafka-Images

* Upgrade der Kafk-Images von Confluent 7.0.2 auf 7.1.3
** Unterstützt Kafka 3.1.x (siehe https://docs.confluent.io/platform/current/installation/versions-interoperability.html[Versions-Matrix])
* Upgrade für Spring Boot von 2.6.5 auf 2.7.2
** Enthält Kafka: 3.1.1
** Enthält Spring Kafka: 2.8.8

3 years agoSetup aus der Intro-Übung übernommen
Kai Moritz [Sun, 3 Apr 2022 07:26:56 +0000 (09:26 +0200)]
Setup aus der Intro-Übung übernommen

3 years agoSetup "entkernt": Implementierungen entfernt
Kai Moritz [Sun, 3 Apr 2022 07:23:57 +0000 (09:23 +0200)]
Setup "entkernt": Implementierungen entfernt

3 years agoUpgrade der Images von Confluent 6.2.0 auf 7.0.2
Kai Moritz [Sun, 3 Apr 2022 06:15:30 +0000 (08:15 +0200)]
Upgrade der Images von Confluent 6.2.0 auf 7.0.2

3 years agoREADME.sh verwendet den cli-Service für Kommandos
Kai Moritz [Fri, 1 Apr 2022 09:56:34 +0000 (11:56 +0200)]
README.sh verwendet den cli-Service für Kommandos

4 years agoFälschlich hartkodiertes Topic gegen Variable getauscht
Kai Moritz [Fri, 25 Mar 2022 14:27:50 +0000 (15:27 +0100)]
Fälschlich hartkodiertes Topic gegen Variable getauscht

4 years agoCode reorganisiert, um Änderungen vergleichbarer zu machen
Kai Moritz [Fri, 25 Mar 2022 10:19:03 +0000 (11:19 +0100)]
Code reorganisiert, um Änderungen vergleichbarer zu machen

4 years agoUpgrade für Spring Boot 2.6.0 -> 2.6.5
Kai Moritz [Fri, 25 Mar 2022 08:25:54 +0000 (09:25 +0100)]
Upgrade für Spring Boot 2.6.0 -> 2.6.5

* Kafka: 3.0.1
* Spring Kafka: 2.8.4

4 years agoFirst Contact: Simple Producer & Consumer
Kai Moritz [Tue, 14 Dec 2021 17:55:02 +0000 (18:55 +0100)]
First Contact: Simple Producer & Consumer