• 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
Hans Scharoun / Copyright: bpk /Fritz Eschenbpk /Fritz Eschen Herzlichen Glückwunsch, Hans Scharoun!
Bilder einer Buchaufstellung – Bibliotheken aus Sicht der Künste
Wissenschaftliche Bibliotheken und Stadtentwicklung
360 Jahre alt und ganz am Puls der Zeit – ein Spaziergang in VR
Johannes Block aus Pommern – der stumme Prediger und seine sprechende Bibliothek
Die Königliche Bibliothek zu Berlin am Opernplatz. Ansicht von Unter den Linden/Ecke Opernhaus her (um 1900). © bpk/SBB-PKbpk/Staatsbibliothek zu Berlin (00088350) Das Gebäude der Königlichen Bibliothek am Opernplatz in den Jahren 1774 bis 1909 – Werkstattgespräch am 24.10.
CC0 Public DomainCC0 Warum die EU-Urheberrechtsreform auch Bibliotheken betrifft
Bibliothek am 9.3.2020 geschlossen
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:

  • Anna bei Neue Trinkwasserspender für alle | New Drinking Water Dispensers for All
  • Thomas Parschik bei Röntgentermin für den Pharao
  • SuK bei Wissenshunger stillen ohne Krümel | Feed Your Hunger for Knowledge — Without the Crumbs
  • Thomas Parschik bei Tollkühne Frauen und Männer und fliegende Kisten
  • Benutzungskommunikation bei Wissenshunger stillen ohne Krümel | Feed Your Hunger for Knowledge — Without the Crumbs

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 Presse 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