3 IMAGE=juplo/rest-producer:1.0-SNAPSHOT
5 if [ "$1" = "cleanup" ]
7 docker-compose -f docker/docker-compose.yml down -t0 -v --remove-orphans
12 docker-compose -f docker/docker-compose.yml up -d kafka-1 kafka-2 kafka-3
13 docker-compose -f docker/docker-compose.yml rm -svf producer producer-0 producer-1
16 $(docker image ls -q $IMAGE) == "" ||
20 mvn clean install || exit
22 echo "Using image existing images:"
23 docker image ls $IMAGE
26 echo "Waiting for the Kafka-Cluster to become ready..."
27 docker-compose -f docker/docker-compose.yml run --rm cli cub kafka-ready -b kafka:9092 3 60 > /dev/null 2>&1 || exit 1
29 docker-compose -f docker/docker-compose.yml up -t0 -d cli
31 docker-compose -f docker/docker-compose.yml logs setup
33 docker-compose -f docker/docker-compose.yml up -d producer-0 producer-1
34 while ! [[ $(http 0:8000/actuator/health 2> /dev/null) =~ "UP" ]]; do echo "Waiting for producer-0..."; sleep 1; done
35 while ! [[ $(http 0:8001/actuator/health 2> /dev/null) =~ "UP" ]]; do echo "Waiting for producer-1..."; sleep 1; done
36 docker-compose -f docker/docker-compose.yml up -d consumer
39 echo -n Nachricht 1 an Producer 0 | http -v :8000/foo
40 echo -n Nachricht 1 an Producer 1 | http -v :8001/foo
42 echo -n Nachricht 2 an Producer 0 | http -v :8000/bar
43 echo -n Nachricht 2 an Producer 1 | http -v :8001/bar
45 docker-compose -f docker/docker-compose.yml logs consumer
47 docker-compose -f docker/docker-compose.yml exec -T cli bash << 'EOF'
48 echo "Altering number of partitions from 3 to 7..."
49 kafka-topics --bootstrap-server kafka:9092 --describe --topic test
50 # tag::repartitioning[]
51 kafka-topics --bootstrap-server kafka:9092 --alter --topic test --partitions 7
52 # end::repartitioning[]
53 kafka-topics --bootstrap-server kafka:9092 --describe --topic test
56 docker-compose -f docker/docker-compose.yml restart producer-0 producer-1
57 while ! [[ $(http 0:8000/actuator/health 2> /dev/null) =~ "UP" ]]; do echo "Waiting for producer-0..."; sleep 1; done
58 while ! [[ $(http 0:8001/actuator/health 2> /dev/null) =~ "UP" ]]; do echo "Waiting for producer-1..."; sleep 1; done
60 echo -n Nachricht 3 an Producer 0 | http -v :8000/foo
61 echo -n Nachricht 3 an Producer 1 | http -v :8001/foo
62 echo -n Nachricht 4 an Producer 0 | http -v :8000/bar
63 echo -n Nachricht 4 an Producer 1 | http -v :8001/bar
65 docker-compose -f docker/docker-compose.yml logs consumer
68 kafkacat -b :9092 -t test -o 0 -p0 -f'p=%p|o=%o|k=%k|v=%s\n' -qe
69 kafkacat -b :9092 -t test -o 0 -p1 -f'p=%p|o=%o|k=%k|v=%s\n' -qe