feat: Configrued the `chat-backend` with a working static sharding
[demos/kafka/chat] / docker-compose.yml
index 28fca8b..3773f15 100644 (file)
@@ -84,6 +84,14 @@ services:
     depends_on:
       - kafka-0
 
+  mongo:
+    image: mongo:4.4.13
+    volumes:
+      - ./0001.sh:/docker-entrypoint-initdb.d/0001.sh:ro
+      - ./chatRoomTo.json:/docker-entrypoint-initdb.d/chatRoomTo.json:ro
+    ports:
+      - 27017:27017
+
   haproxy:
     image: haproxy:2.7
     volumes:
@@ -97,15 +105,36 @@ services:
       - 8404:8404
 
   backend-1:
-    image: jmalloc/echo-server:latest
+    image: juplo/chat-backend:0.0.1-SNAPSHOT
+    environment:
+      chat.backend.inmemory.sharding-strategy: kafkalike
+      chat.backend.inmemory.num-shards: 10
+      chat.backend.inmemory.owned-shards: 1, 3, 4, 9
+      chat.backend.inmemory.storage-strategy: mongodb
+      spring.data.mongodb.host: mongo
+      spring.data.mongodb.database: test
     ports:
       - 8081:8080
   backend-2:
-    image: jmalloc/echo-server:latest
+    image: juplo/chat-backend:0.0.1-SNAPSHOT
+    environment:
+      chat.backend.inmemory.sharding-strategy: kafkalike
+      chat.backend.inmemory.num-shards: 10
+      chat.backend.inmemory.owned-shards: 0, 2, 7
+      chat.backend.inmemory.storage-strategy: mongodb
+      spring.data.mongodb.host: mongo
+      spring.data.mongodb.database: test
     ports:
       - 8082:8080
   backend-3:
-    image: jmalloc/echo-server:latest
+    image: juplo/chat-backend:0.0.1-SNAPSHOT
+    environment:
+      chat.backend.inmemory.sharding-strategy: kafkalike
+      chat.backend.inmemory.num-shards: 10
+      chat.backend.inmemory.owned-shards: 5, 6, 8
+      chat.backend.inmemory.storage-strategy: mongodb
+      spring.data.mongodb.host: mongo
+      spring.data.mongodb.database: test
     ports:
       - 8083:8080