Sichergestellt, dass das neu erzeugte Topic angesprochen wird
[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 kafkacat -L -b :9092
33 docker-compose exec cli kafka-topics --bootstrap-server kafka:9092 --describe --topic test
34 # tag::foo[]
35 echo foo | http -v :8081/acks-1
36 echo foo | http -v :8082/acks-all
37 kafkacat -C -b :9092 -t test -o 0 -e -f'p=%p|o=%o|k=%k|v=%s\n'
38 # end::foo[]
39 sleep 1
40 kafkacat -L -b :9092
41 docker-compose exec cli kafka-topics --bootstrap-server kafka:9092 --describe --topic test
42 kafkacat -C -b :9092 -t test -o 0 -e -f'p=%p|o=%o|k=%k|v=%s\n'
43
44 # tag::stop[]
45 docker-compose stop kafka-1
46 kafkacat -L -b :9092
47 # end::stop[]
48 docker-compose exec cli kafka-topics --bootstrap-server kafka:9092 --describe --topic test
49
50 time echo bar | http -v :8081/acks-1
51 time echo bar | http -v :8081/acks-1
52 time echo bar | http -v :8082/acks-all
53 time echo bar | http -v :8082/acks-all
54 sleep 1
55 kafkacat -L -b :9092
56 docker-compose exec cli kafka-topics --bootstrap-server kafka:9092 --describe --topic test
57 kafkacat -C -b :9092 -t test -o 0 -e -f'p=%p|o=%o|k=%k|v=%s\n'
58
59 docker-compose stop kafka-3
60 kafkacat -L -b :9092
61 docker-compose exec cli kafka-topics --bootstrap-server kafka:9092 --describe --topic test
62
63 time echo foobar | http -v :8081/acks-1
64 time echo foobar | http -v :8081/acks-1
65 time echo foobar | http -v :8082/acks-all
66 sleep 1
67 kafkacat -L -b :9092
68 docker-compose exec cli kafka-topics --bootstrap-server kafka:9092 --describe --topic test
69 kafkacat -C -b :9092 -t test -o 0 -e -f'p=%p|o=%o|k=%k|v=%s\n'