Project

Skynet

Wir haben von der DB eine sehr interessante Aufgabe erhalten, die Außenstehende sofort anspricht. Sie haben uns um eine Software gebeten, mit der wir die Internetverbindung für Fahrgäste in den Waggons testen können.

Goal

Testing Zug-Land Kommunikation

Wichtig ist, dass die Tests von vielen (bis zu 100) unabhängigen Agenten durchgeführt werden, die natürlich mit einem Managementsystem verbunden sind und Testaufgaben zugewiesen bekommen. Die Testergebnisse und die durch den Test erzeugten Netzverkehrsdaten werden in einer Datenbank gespeichert. Diese Daten mussten grafisch dargestellt werden, um die Auswertung der Testergebnisse zu erleichtern.

Die Horde von Agenten deutete hier die Möglichkeit des Einsatzes von Microservices an. In diesem Projekt werden 5 Microservices verwendet, die jeweils einen genau definierten Aufgabenbereich haben. Es wurde ein Microservice geschaffen, der Tests durchführt. Mehr als 100 dieser Dienste arbeiten, während die Anwendung läuft. Ein weiterer Microservice steht mit einer größeren Anzahl von Instanzen mit dem vorherigen Microservice in Verbindung. Hier bedeutet die Aufrechterhaltung der Verbindung die Zuweisung von Testaufgaben, das Sammeln von Testergebnissen und deren Speicherung in einer Datenbank. Darüber hinaus kommuniziert das Frontend mit diesem Microservice, d.h. der Benutzer gibt Anweisungen an diesen zentralen Microservice. Der Benutzer kann dann den Zustand der Anwendung über das Frontend überwachen, und ein separater Microservice ist für die grafische Darstellung der gesammelten Testdaten zuständig.

Welche Technologie wurde eingesetzt?
  • Agent-Mikroservice: Spring Boot
  • Backend-Mikroservice: Spring Boot
  • Datenbank: InfluxDB
  • Frontend: Angular
  • Grafische Datenvisualisierung: Grafana