streams - Übungen - Microservices - Schritt 03
[demos/microservices] / README.sh
1 #!/bin/bash
2
3 if [ "$1" = "cleanup" ]
4 then
5   docker-compose down
6   mvn clean
7   exit
8 fi
9
10 trap 'kill $(jobs -p)' EXIT
11
12 mvn package
13
14 docker build -t trion/take-order-service:01 take-order
15 docker build -t trion/details-service:02 details
16 docker build -t trion/validate-order-service:03 validate-order
17
18 docker-compose up -d zookeeper kafka schema-registry
19
20 while ! [[ $(zookeeper-shell zookeeper:2181 ls /brokers/ids 2> /dev/null) =~ 1001 ]]; do echo "Waiting for kafka..."; sleep 1; done
21
22 kafka-topics --zookeeper zookeeper:2181 --if-not-exists --create --replication-factor 1 --partitions 5 --topic orders
23 kafka-topics --zookeeper zookeeper:2181 --if-not-exists --create --replication-factor 1 --partitions 5 --topic validation
24
25 docker-compose up -d take-order validate-order details
26
27 kafka-avro-console-consumer --bootstrap-server kafka:9092 --topic orders &
28 kafka-avro-console-consumer --bootstrap-server kafka:9092 --topic validation &
29 while ! [[ $(http 0:8091/actuator/health 2> /dev/null) =~ "UP" ]]; do echo "Waiting for take-order..."; sleep 1; done
30 while ! [[ $(http 0:8092/actuator/health 2> /dev/null) =~ "UP" ]]; do echo "Waiting for details..."; sleep 1; done
31 while ! [[ $(http 0:8093/actuator/health 2> /dev/null) =~ "UP" ]]; do echo "Waiting for validate-order..."; sleep 1; done
32 http -v post 0:8091/orders Accept:*/* id=1 customerId=2 productId=234 quantity=5
33 http -v post 0:8091/orders Accept:*/* id=1 customerId=2 productId=234 quantity=
34 http -v post 0:8091/orders Accept:*/* id=1 customerId=2 productId=234 quantity=-5
35 http -v post 0:8091/orders Accept:*/* id=1 customerId=2 productId=-234 quantiyt=5
36 http -v post 0:8091/orders Accept:*/* customerId=2 productId=234 quantity=5