From d2fbbf029e151e37fcd48cbbdb90c3c14a48aa8d Mon Sep 17 00:00:00 2001 From: Kai Moritz Date: Sun, 7 Feb 2021 15:13:35 +0100 Subject: [PATCH] Removed Setup for Docker Compose and README.* --- README.md | 40 ----------------------------------- README.sh | 52 ---------------------------------------------- docker-compose.yml | 25 ---------------------- 3 files changed, 117 deletions(-) delete mode 100644 README.md delete mode 100755 README.sh delete mode 100644 docker-compose.yml diff --git a/README.md b/README.md deleted file mode 100644 index 2748ed9..0000000 --- a/README.md +++ /dev/null @@ -1,40 +0,0 @@ -# Implementation of the Outbox-Pattern for Apache Kafka - -This Repository holds the source code for -[a blog-series that explains a technically complete implementation of the outbox-pattern for Apache Kafka](https://juplo.de/implementing-the-outbox-pattern-with-kafka-part-1-the-outbox-table/). - -Execute [README.sh](README.sh) in a shell to demonstrate the example: - - ./README.sh - -The script will... - -* compile the component, -* package it as Docker-Images, -* start up the component and a PostreSQL as containers in a [Compose-Setup](docker-compose.yml), -* execute example-queries (CREATE / DELETE) against the API of [the example-project](https://juplo.de/implementing-the-outbox-pattern-with-kafka-part-0-the-example/) and -* tail the logs of the containers `jdbc` to show what is going on. - -You can verify the expected outcome of the demonstration by running a command like the following: - - $ docker-compose exec postgres psql -Uoutbox -c'SELECT * FROM outbox;' -Ppager=0 outbox | grep peter - 1 | peter1 | "CREATED" | 2021-05-16 13:20:36.849 - 10 | peter2 | "CREATED" | 2021-05-16 13:20:42.141 - 19 | peter3 | "CREATED" | 2021-05-16 13:20:47.136 - 28 | peter4 | "CREATED" | 2021-05-16 13:20:52.087 - 37 | peter5 | "CREATED" | 2021-05-16 13:20:57.512 - 46 | peter6 | "CREATED" | 2021-05-16 13:21:02.493 - 55 | peter7 | "CREATED" | 2021-05-16 13:21:07.503 - $ - -The example-output shows, that the CREATE-event for users with "peter" in their username are only stored exactly once in the outbox-table, although the script issues several requests for each of these users. - -Be aware, that the outcome of the script will be different, if you run it several times. -In order to reproduce the same behaviour, you have to shut down the Compose-Setup before rerunning the script: - - docker-compose down -v - ./README.sh - -To clean up all created artifacts one can run: - - ./README.sh cleanup diff --git a/README.sh b/README.sh deleted file mode 100755 index f02c9fc..0000000 --- a/README.sh +++ /dev/null @@ -1,52 +0,0 @@ -#!/bin/bash - -if [ "$1" = "cleanup" ] -then - docker-compose down -v - mvn clean - docker image rm juplo/data-jdbc:polling-outbox-1 - exit -fi - -if [[ - $(docker image ls -q juplo/data-jdbc:polling-outbox-1) == "" || - "$1" = "build" -]] -then - mvn install || exit -else - echo "Using image existing images:" - docker image ls juplo/data-jdbc:polling-outbox-1 -fi - -docker-compose up -d jdbc - -while ! [[ $(http :8080/actuator/health 2>/dev/null | jq -r .status) == "UP" ]]; -do - echo "Waiting for User-Service..."; - sleep 1; -done - - -docker-compose logs --tail=0 -f jdbc & - -for i in `seq 1 7`; -do - echo peter$i | http :8080/users - echo uwe$i | http :8080/users - echo peter$i | http :8080/users - echo simone$i | http :8080/users - echo beate$i | http :8080/users - http DELETE :8080/users/franz$i - http DELETE :8080/users/simone$i - echo beate$i | http :8080/users - http DELETE :8080/users/beate$i - echo franz$i | http :8080/users - echo franz$i | http :8080/users - echo beate$i | http :8080/users - http DELETE :8080/users/uwe$i - sleep 1 -done; - -docker-compose exec postgres psql -Uoutbox -c'SELECT * FROM outbox;' -Ppager=0 outbox -docker-compose stop diff --git a/docker-compose.yml b/docker-compose.yml deleted file mode 100644 index 1b09b5f..0000000 --- a/docker-compose.yml +++ /dev/null @@ -1,25 +0,0 @@ -version: "3" - -services: - jdbc: - image: juplo/data-jdbc:polling-outbox-1 - ports: - - 8080:8080 - environment: - spring.profiles.active: prod - depends_on: - - postgres - - postgres: - image: postgres:13 - ports: - - 5432:5432 - environment: - POSTGRES_USER: outbox - POSTGRES_PASSWORD: outbox - POSTGRES_DB: outbox - volumes: - - pgdata:/var/lib/postgresql/data/ - -volumes: - pgdata: -- 2.20.1