Skip to content

mirkoipt/kafka-poc-clients-copy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kafka Streams Test Applikation

Dieses Projekt wurde von sfnipt/silfank und tisuter erstellt im Rahmen eines Techbiers. Dieses Repo hier dient nur als Übergangskopie. Das ursprüngliche Techbier-Repo enthält zudem die Aufgaben, die im Techbier gelöst wurden. Dieses Repo hat nur die Lösungen. Ursprüngliches Repo: techbier-repo

Kafka Cluster

Im Projekt bfinden sich zwei docker-compose files um sich lokal einen Cluster installieren zu können. Es stehen zwei Distributionen zur Auswahl:

  • RedPanda
  • Confluent Kafka

Java Applikation

Die Applikation beinhaltet Producer und Consumer für zwei Quell-Topics:

  • transactions: Dieses Topic enthält Daten des Typs "Payment" im Avro-Format. Es wird im 2sek Rythmus eine Nachricht generiert
  • accounts: Dieses Topic enthält Daten des Typs "Account" im Avro-Format. Sie werden jeweils beim Aufstarten der Applikation einmalig geladen. Das Topic sollte wenn möglich "compacted" angelegt werden.

Im Ordner "streams" befinden sich mehrere Kafka-Streams Anwendungsfälle. Um sie zu aktiveren muss das @Component einkommentiert werden. Die benötigten Topics werden auf dem Cluster automatisch angelegt.

GitOps

Es sind zwei unterschiedliche Tool vorhanden, um den Status des Clusters zu definieren (Topic-Management, ACLs, ...)

Setup

Folgendes ausführencd .

mvn clean install

Cluster aufsetzen

Im Ordner src/main/resources/docker befinden sich je ein Unterordner für Confluent Kafka oder Red Panda. Sie beinhalten je ein docker-compose.yml, durch welches sich ein Cluster aufsetzen lässt. Um den jeweiligen Cluster zu initialisieren, muss auf der Kommandozeile im jeweiligen Ordner docker-compose up -d ausgeführt werden. Für IntelliJ-Nutzer sind die run configurations bereits vorhanden.
Es dauert relativ lange, bis der Cluster komplett aufgestartet ist. Das Control Center bei Confluent ist unter http://localhost:9021/clusters aufrufbar.

Java App starten

1. Config setzen

In src/main/resources/application.yaml folgende Werte befüllen:

  • bootstrap-servers
  • schema.registry.url

2. App starten

Die Klasse ch.ipt.kafka.KafkaStreamsApplication starten

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published