• BLOG-NETZWERK FÜR FORSCHUNG UND KULTUR
SBB aktuell
  • FOYER
  • SERVICE
  • IT-INNOVATION
  • WISSEN
  • FEUILLETON
  • Menü Menü

Microservices, Integration

30.05.2016/0 Kommentare/in Foyer, IT-Innovation/von Konrad Eichstädt

Die Microservices Architektur bietet den Vorteil der freien Technologieauswahl bei jedem Microservice. Ein wichtiger Punkt unseres Evaluierungsprojektes war die Prüfung der Integrationsfähigkeit von Softwarekomponenten, welche nicht Java, bzw. Spring Cloud im Technologiestack enthalten. Dazu möchte ich in diesem Beitrag unserer Blogserie zeigen auf welche Art und Weise wir legacy Software, wie zum Beispiel Fedora4 Content Repository in die „Platform Service“ der Microservices Welt integriert haben.

 

Integration

Für die Integration solcher „nicht Java basierten Softwarekomponenten“ stellt Netflix Open Source Stack (Netflix OSS) das Projekt Prana bereit. Prana ist eine sogenannte Sidecar Anwendung. Durch die Nutzung von Prana ist es möglich die „Platform Service„, wie zum Beispiel Eureka, Circuit Breaker und Ribbon in solchen Projekten zu verwenden. Wie der Name „Beistellwagen“ schon verrät wird das Prana Projekt lediglich neben den nicht Netflix fähigen Microservice gestellt und konfiguriert. Wie genau das funktioniert, möchte ich gerne an folgendem konkreten Beispiel demonstrieren.

 

Dazu haben wir im ersten Schritt ein Spring Boot Projekt aufgesetzt und Spring Cloud Sidecar durch folgende Annotation an der „main“ Klasse aktiviert.

 

@EnableSidecar

@SpringBootApplication

public class SideCarApplication {

 

public static void main(String[] args) {

SpringApplication.run(SideCarApplication.class, args);

}

}

 

Anschließend müssen im Sidecar Projekt noch folgende Properties gesetzt werden:

 

spring.application.name=Fedora4-Sidecar

server.display-name=Staatsbibliothek Fedora Sidecar

server.port=9080

sidecar.health-uri=http://localhost:8080/rest/health.json

sidecar.port=8080

sidecar.home-page-uri=http://localhost:8080/

 

Mit der Angabe der health-uri wird auf einen REST Endpunkt der Fedora4 Anwendung verwiesen, aus welchem Sidecar die Statusinformation zur Übermittlung an Eureka erhält. Dazu haben wir im Fedora4 folgendes triviales JSON Dokument hinterlegt:

health.json

{„status“:“UP“}

Bei erreichbarem Fedora4 kann Sidecar nun diese Statusinformation an Eureka übermitteln. Sidecar muss auf demselben Server laufen wie Fedora4. Zusätzlich zur Sidecar Konfiguration müssen natürlich noch die Konfigurationswerte für Eureka, Hystrix und Ribbon gesetzt werden. Um Fedora4 in Eureka sichtbar zu machen haben wir daher für die Service Registry folgende Werte gesetzt:

 

eureka.instance.leaseRenewalIntervalInSeconds=10

eureka.client.healthcheck.enabled=true

eureka.client.serviceUrl.defaultZone=http://localhost:8761/serviceregistry/eureka/

eureka.client.registryFetchIntervalSeconds=5

 

Ist Fedora4 gestartet zeigt Eureka die Integration wie folgt an:

fedora-sidecar

Ist das Sidecar Projekt gestartet und verfügbar, kann anschließend Fedora4 über folgende URL angesteuert werden:

 http://<hostname>:9080/fedora4-sidecar/

 

Welche Vorteile bringt uns diese Integration nun aber ganz konkret.

 

  • ohne Fedora4 anpassen zu müssen, lässt es sich in die „Platform Services“ von Netflix integrieren,
  • Fedora4 ist damit in der Service Registry sichtbar und abrufbar,
  • ein Aufruf von Fedora4 über die Sidecar URL wird als Circuit Breaker Command ausgeführt,
  • es werden Hystrix Metriken generiert welche im Hystrix Dashboard sichtbar sind,
  • es kann Load Balancing verwendet werden, sobald Fedora4 mehrfach installiert ist,
  • es kann die zentrale Configuration Management Instanz verwendet werden.

 

Obwohl Fedora4 kein Microservice ist können Client Anwendungen die Service Registry nach der Einstiegs URL von Fedora4 fragen. Anschließend wird jede Anfrage der Clients via Hystrix abgesichert und aufgezeichnet. So konnten wir zum Beispiel die Antwortzeiten der Fedora4 REST API im Hystrix Dashboard aufzeichnen und auswerten.

hystrix-fedora

All diese Vorteile sind ohne eine einzige Anpassung des Fedora4 Systems möglich. Auf dieselbe Art  und Weise haben wir einen reinen Javascript Microservice eingebunden.

 

Fazit

Wie dieser Beitrag zeigt, ist die Integration einer Softwarekomponente, welche nicht den Netflix Stack via Bibliotheken Integration nutzen kann, sehr einfach. Die aufgezeigten Möglichkeiten, welche sich dadurch bieten finde ich beeindruckend. Hinzufügen muss ich allerdings, dass sich auf diese Art und Weise nur Softwarekomponenten integrieren lassen, welche über eine REST API angesprochen werden können. Da alle Aufrufe dieser REST API über Sidecar geroutet werden. Für Softwarekomponenten ohne REST API ist die Integration ebenfalls möglich aber etwas aufwendiger.

Schlagworte: Architektur, Bibliothek, Circuit Breaker, Cloud, Eureka, Fedora, Hystrix, Integration, Lastverteilung, Load Balancing, Microservices, Netflix, Pazpar2, Platform Services, Prana, Ribbon, Service Registry, Sidecar, Softwareentwicklung, Widerstandsfähig
Eintrag teilen
  • Teilen auf Facebook
  • Teilen auf X
  • Auf WhatsApp teilen
  • Teilen auf Pinterest
  • Teilen auf LinkedIn
  • Teilen auf Tumblr
  • Teilen auf Vk
  • Teilen auf Reddit
  • Per E-Mail teilen
https://blog.sbb.berlin/wp-content/uploads/sidecar.jpg 540 960 Konrad Eichstädt https://blog.sbb.berlin/wp-content/uploads/stabi-logo-kante.png Konrad Eichstädt2016-05-30 11:58:422026-06-24 10:02:47Microservices, Integration
Das könnte Sie auch interessieren
CC0 Public DomainCC0 Warum die EU-Urheberrechtsreform auch Bibliotheken betrifft
Was im Rara-Lesesaal entsteht: Rekonstruktion der Büchersammlung Friedrich Gillys
European Library Automation Group 2019CC-BY-NC-SA-3.0 ELAG2019 in der Staatsbibliothek zu Berlin
Microservice-Projektblog: Eierlegende Wollmilchsau
Microservices, Sicherheit
Angekündigte Dreharbeiten Dreharbeiten vor der SBB – Potsdamer Platz
Microservices, Load Balancing
TYPO3 CMS zähmt Java EE Microservices
0 Kommentare

Ihr Kommentar

An Diskussion beteiligen?
Hinterlassen Sie uns einen Kommentar!

Schreiben Sie einen Kommentar Antworten abbrechen

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Search Search

Kommentare:

  • Birgit Jochens bei Reden über Rodrian
  • Thomas Parschik bei Ein Bruchpilot im Brunnenhof
  • Diana Johanns bei Reden über Rodrian
  • Tobias Bank bei Reden über Rodrian
  • Christian Mathieu bei Neues Outfit für die Digitalisierten Sammlungen

Schlagwörter

Ausbildung Ausleihe Ausstellung Benutzung Benutzungseinschränkung Bilderbuch Buchpatenschaft CrossAsia Datenbank digitale Lektüretipps Digitalisierung E.T.A. Hoffmann Fachinformation Freunde der Staatsbibliothek Geschichte Hinweis Import Jugendbuch Kinderbuch Kulturelles Erbe Lesesaal Martin Luther Materialität Musik Osteuropa podcaststudio Promovierende Provenienzforschung Recherche Recht Rechtsforschung Rechtswissenschaften Reformation Restaurierung sbb online offen Service Servicezeiten Slawistik Stipendienprogramm Werkstattgespräch Wissenswerkstatt Workshop Zeitschriftendatenbank Zeitungen Öffnungszeiten

Unsere Blogs

  • E. T. A. HOFFMANN PORTAL
  • FEUILLETON
  • FOYER
  • FREUNDE DER BIBLIOTHEK
  • HISTORISCHE DRUCKE
  • INKUNABELN
  • IT-INNOVATION
  • KARTEN
  • MUSIK
  • ORIENT
  • PODCAST
  • PRESSE
  • SERVICE
  • TERMINE
  • WISSEN

Suche über alle Beiträge:

Search Search

Folgen Sie uns auf Instagram

Folgen Sie uns auf Bluesky

Folgen Sie uns auf Mastodon

Besuchen Sie uns auf Youtube

ARCHIV ALLER BLOGBEITRÄGE

Zum Kalender
© Copyright - Staatsbibliothek zu Berlin – Preußischer Kulturbesitz
  • RSS-Feeds abonnieren
  • Impressum
  • Datenschutzerklärung
  • Erklärung zur Barrierefreiheit
  • Barriere melden
Link to: Werkstattgespräch zu den Kalligrafischen Druckschriften Hermann Zapfs am 7.6. Link to: Werkstattgespräch zu den Kalligrafischen Druckschriften Hermann Zapfs am 7.6. Werkstattgespräch zu den Kalligrafischen Druckschriften Hermann Zapfs am 7...Veranstaltungsreihe Materialität von Schriftlichkeit | CC BY-NC-SA 3.0SBB-PK CC BY-NC-SA 3.0 Link to: Gestern und heute – ein literarischer Almanach aus der frühen Sowjetzeit Link to: Gestern und heute – ein literarischer Almanach aus der frühen Sowjetzeit Včera i segodnja, mit Stempel zur NeuinventarisierungGestern und heute – ein literarischer Almanach aus der frühen Sowjetzeit
Nach oben scrollen Nach oben scrollen Nach oben scrollen