Version des `spring-consumer` mit einem Dead-Letter-Topic
[demos/kafka/training] / docker-compose.yml
index bd15793..d9a5507 100644 (file)
@@ -90,8 +90,11 @@ services:
     command: >
       bash -c "
         kafka-topics --bootstrap-server kafka:9092 --delete --if-exists --topic test
+        kafka-topics --bootstrap-server kafka:9092 --delete --if-exists --topic test.DLT
         kafka-topics --bootstrap-server kafka:9092 --create --topic test --partitions 2 --replication-factor 3 --config min.insync.replicas=2
+        kafka-topics --bootstrap-server kafka:9092 --create --topic test.DLT --partitions 2 --replication-factor 3 --config min.insync.replicas=2
         kafka-topics --bootstrap-server kafka:9092 --describe --topic test
+        kafka-topics --bootstrap-server kafka:9092 --describe --topic test.DLT
       "
     depends_on:
       - kafka-1
@@ -103,5 +106,33 @@ services:
     command: sleep infinity
 
   producer:
-    image: juplo/simple-producer:1.0-SNAPSHOT
-    command: producer
+    image: juplo/rest-producer-json:1.0-SNAPSHOT
+    ports:
+      - 8080:8080
+    environment:
+      server.port: 8080
+      producer.bootstrap-server: kafka:9092
+      producer.client-id: producer
+      producer.topic: test
+
+  consumer-1:
+    image: juplo/spring-consumer-json-kafkalistener:1.0-SNAPSHOT
+    ports:
+      - 8081:8080
+    environment:
+      server.port: 8080
+      spring.kafka.bootstrap-servers: kafka:9092
+      spring.kafka.client-id: consumer-1
+      spring.kafka.consumer.group-id: my-group
+      simple.consumer.topic: test
+
+  consumer-2:
+    image: juplo/spring-consumer-json-kafkalistener:1.0-SNAPSHOT
+    ports:
+      - 8082:8080
+    environment:
+      server.port: 8080
+      spring.kafka.bootstrap-servers: kafka:9092
+      spring.kafka.client-id: consumer-2
+      spring.kafka.consumer.group-id: my-group
+      simple.consumer.topic: test