The splitting of the recorded sentences is done by a separate service
[demos/kafka/wordcount] / docker-compose.yml
index 87338db..a0a05c7 100644 (file)
@@ -61,8 +61,19 @@ services:
     depends_on:
       - kafka
 
+  splitter:
+    image: juplo/wordcount--splitter:1.0.0
+    labels:
+      - "traefik.enable=true"
+      - "traefik.http.routers.splitter.rule=Host(`splitter.localhost`)"
+      - "traefik.http.routers.splitter.entrypoints=web"
+    environment:
+      juplo.wordcount.splitter.bootstrap-server: kafka:9092
+    depends_on:
+      - kafka
+
   counter:
-    image: juplo/wordcount--counter:1.0.1
+    image: juplo/wordcount--counter:1.1.0
     labels:
       - "traefik.enable=true"
       - "traefik.http.routers.counter.rule=Host(`counter.localhost`)"
@@ -134,10 +145,11 @@ services:
     image: juplo/toolbox
     command: bash -c "
       cub kafka-ready -b kafka:9092 1 60 ;
-      kafka-topics --bootstrap-server kafka:9092 --create --partitions 10 --topic recordings ;
-      kafka-topics --bootstrap-server kafka:9092 --create --partitions 10 --topic users ;
-      kafka-topics --bootstrap-server kafka:9092 --create --partitions 10 --topic countings ;
-      kafka-topics --bootstrap-server kafka:9092 --create --partitions 10 --topic top10 ;
+      kafka-topics --bootstrap-server kafka:9092 --create --partitions 10 --if-not-exists --topic recordings ;
+      kafka-topics --bootstrap-server kafka:9092 --create --partitions 10 --if-not-exists --topic users ;
+      kafka-topics --bootstrap-server kafka:9092 --create --partitions 10 --if-not-exists --topic words ;
+      kafka-topics --bootstrap-server kafka:9092 --create --partitions 10 --if-not-exists --topic countings ;
+      kafka-topics --bootstrap-server kafka:9092 --create --partitions 10 --if-not-exists --topic top10 ;
       sleep infinity"
 
   akhq: