Nicht benötigte Ausgaben entfernt
[demos/kafka/training] / README.sh
1 #!/bin/bash
2
3 IMAGE=juplo/rest-producer:1.0-SNAPSHOT
4
5 if [ "$1" = "cleanup" ]
6 then
7   docker-compose down -v
8   exit
9 fi
10
11 docker-compose up -d zookeeper kafka-1 kafka-2 kafka-3 cli
12
13 if [[
14   $(docker image ls -q $IMAGE) == "" ||
15   "$1" = "build"
16 ]]
17 then
18   mvn install || exit
19 else
20   echo "Using image existing images:"
21   docker image ls $IMAGE
22 fi
23
24 echo "Waiting for the Kafka-Cluster to become ready..."
25 docker-compose exec cli cub kafka-ready -b kafka:9092 3 60 > /dev/null 2>&1 || exit 1
26 docker-compose up setup
27 docker-compose up -d
28
29 while ! [[ $(http 0:8081/actuator/health 2> /dev/null) =~ "UP" ]]; do echo "Waiting for acks-1..."; sleep 1; done
30 while ! [[ $(http 0:8082/actuator/health 2> /dev/null) =~ "UP" ]]; do echo "Waiting for acks-all..."; sleep 1; done
31
32 # tag::foo[]
33 echo foo | http -v :8081/acks-1
34 echo foo | http -v :8082/acks-all
35 kafkacat -C -b :9092 -t test -o 0 -e -f'p=%p|o=%o|k=%k|v=%s\n'
36 # end::foo[]
37
38 # tag::stop[]
39 docker-compose stop kafka-1
40 docker-compose exec cli kafka-topics --bootstrap-server kafka:9092 --describe --topic test
41 # end::stop[]
42
43 time echo bar | http -v :8081/acks-1
44 time echo bar | http -v :8081/acks-1
45 time echo bar | http -v :8082/acks-all
46 time echo bar | http -v :8082/acks-all
47 sleep 1
48 kafkacat -C -b :9092 -t test -o 0 -e -f'p=%p|o=%o|k=%k|v=%s\n'
49
50 docker-compose stop kafka-3
51 docker-compose exec cli kafka-topics --bootstrap-server kafka:9092 --describe --topic test
52
53 time echo foobar | http -v :8081/acks-1
54 time echo foobar | http -v :8081/acks-1
55 time echo foobar | http -v :8082/acks-all
56 sleep 1
57 kafkacat -C -b :9092 -t test -o 0 -e -f'p=%p|o=%o|k=%k|v=%s\n'