#!/bin/bash
-IMAGE=juplo/endless-producer:1.0-SNAPSHOT
+IMAGE=juplo/round-robin:1.0-SNAPSHOT
if [ "$1" = "cleanup" ]
then
docker-compose up -d producer consumer
sleep 10
-http :8081/seen
+http -v :8081/seen
sleep 1
-http :8081/seen
+http -v :8081/seen
sleep 1
-http :8081/seen
+http -v :8081/seen
sleep 1
-http :8081/seen
+http -v :8081/seen
docker-compose exec -T cli bash << 'EOF'
echo "Altering number of partitions from 3 to 7..."
EOF
sleep 1
-http :8081/seen
+http -v :8081/seen
sleep 1
-http :8081/seen
+http -v :8081/seen
sleep 1
-http :8081/seen
+http -v :8081/seen
sleep 1
-http :8081/seen
+http -v :8081/seen
sleep 1
-http :8081/seen
+http -v :8081/seen
sleep 1
-http :8081/seen
+http -v :8081/seen
-http post :8081/stop
-http post :8081/start
+http -v post :8081/stop
+http -v post :8081/start
sleep 1
-http :8081/seen
+http -v :8081/seen
sleep 1
-http :8081/seen
+http -v :8081/seen
sleep 1
-http :8081/seen
+http -v :8081/seen
sleep 1
-http :8081/seen
+http -v :8081/seen
sleep 1
-http :8081/seen
+http -v :8081/seen
sleep 1
-http :8081/seen
+http -v :8081/seen
sleep 1
-http :8081/seen
+http -v :8081/seen
sleep 1
-http :8081/seen
+http -v :8081/seen
docker-compose stop producer consumer
command: sleep infinity
producer:
- image: juplo/endless-producer:1.0-SNAPSHOT
+ image: juplo/round-robin:1.0-SNAPSHOT
ports:
- 8000:8080
environment:
consumer:
- image: juplo/counting-consumer:1.0-SNAPSHOT
+ image: juplo/endless-consumer:1.0-SNAPSHOT
ports:
- 8081:8080
environment:
</parent>
<groupId>de.juplo.kafka</groupId>
- <artifactId>endless-producer</artifactId>
- <name>Endless Producer: a Simple Producer that endlessly writes numbers into a topic</name>
+ <artifactId>round-robin</artifactId>
+ <name>Round Robin: a version of the Endless Producer, that uses round robin for partitioning</name>
<version>1.0-SNAPSHOT</version>
<dependencies>
props.put("client.id", clientId);
props.put("acks", acks);
props.put("metadata.max.age.ms", "1000");
+ props.put("partitioner.class", "org.apache.kafka.clients.producer.RoundRobinPartitioner");
props.put("key.serializer", StringSerializer.class.getName());
props.put("value.serializer", StringSerializer.class.getName());