Skip to content

Code from my master thesis, implementing different microservice architectures

Notifications You must be signed in to change notification settings

AlexanderPraegla/brickstore

Repository files navigation

Masterarbeit

Demo für API Gateway, Service Discovery und OAuth2.0

Start Up

  • mvn clean install zum Bauen des gesamten Projekts
  • docker-compose -f docker-compose-demo.yml up --build baut die Docker Images neu und startet die Anwendung in docker compose

Endpoints

Start des Prototypen

Start Up (docker-compose)

  • mvn clean install zum Bauen des gesamten Projekts
  • docker-compose -f docker-compose-http-prototype.yml up --build für den HTTP basierten Prototypen
  • docker-compose -f docker-compose-event-prototype.yml up --build für den Event basierten Prototypen
  • Nachdem alle Services hochgefahren sind muss für den Event basierte Prototyp noch folgendes Ausgeführt werden, zu Erzeugung eines Standalone Clusters:
    • docker exec -it mongo_database mongo
    • rs.initiate()

Endpoints

Unter http://localhost:8080/swagger-ui.html sind alle API Endpunkte zu finden. Die Authentifizierung finde mittels des OAuth2.0 Servers statt. Es gibt zwei Nutzer:

  • admin:adminPassword (mit den Authorities 'admins,customers')
  • customer:customerPassword (mit der Authority 'customers') ClientId und ClientSecret sind bereits ausgefüllt

Tests

  • docker-compose -f docker-compose-http-prototype-test.yml up --build für den gewünschten Prototypen starten
  • docker-compose -f docker-compose-event-prototype-test.yml up --build für den gewünschten Prototypen starten
  • Wie oben auch, müssen folgende Befehle ausgeführt werden:
    • docker exec -it mongo_database mongo
    • rs.initiate()
  • mvn clean test im Order "system-tests" ausführen

Lokale MongoDb

Wird der Event-basierte Prototyp nicht mittels docker-compose gestartet, so ist es nötig eine lokale MongoDb zu konfigurieren und mit einem replica-set zu starten.
Gestartet wird die Datenbank mit mongod --port 27017 --dbpath /srv/mongodb/db0 --replSet rs0 --bind_ip localhost wobei "--dbpath /srv/mongodb/db0" optional sind und den Pfad angeben, wo die Daten im System abgelegt werden. Anschließend muss wie bei docker-compose auf die CLI der MongoDb mit dem Befehl mongo zugriffen und rs.initiate() ausgeführt werden.

RabbitMQ Docker Image

Für den lokalen Setup ohne docker-compose muss RabbitMQ manuell gestartet werden. docker run -d -p 127.0.0.1:5672:5672 -p 127.0.0.1:15672:15672 --name my-rabbit rabbitmq:3-management

  • Username: guest
  • Passwort: guest

About

Code from my master thesis, implementing different microservice architectures

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published