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

Microservices, Service Registry „Die Zentrale“

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

Im Rahmen unseres IT Projektes „Microservices“ und der damit verbundenen Blog Serie möchte ich in diesem Beitrag über unserer Erfahrungen mit den „Platform Services“, welche ein zentraler Baustein in der Microservices Architektur sind, berichten. Es sind zusätzliche Dienste welche den Betrieb von zahlreichen Anwendungsservices vereinfachen. Dazu gehören unter anderem

  • Service Registry
  • Routing
  • Load balancing / Circuit Breaker
  • Configuration Management
  • Zentrales Logging
  • Monitoring

Alle diese Dienste ermöglichen es eine große Anzahl an Microservices zu betreiben und nutzbar zu machen. Diese Auflistung sieht auf den ersten Blick nach sehr viel Aufwand und technischer Infrastruktur aus und beinhaltet Begrifflichkeiten, welche tiefgehendes, technisches Wissen erfordern um die Bedeutung und Notwendigkeit verstehen zu können. Aus diesem Grund möchte ich in den kommenden drei Beiträgen etwas Licht ins Dunkle bringen und versuchen den Mehrwert dieser technischen Services zu erläutern. Beginnen möchte ich mit der Service Registry, weil diese aus meiner Sicht die grundlegendste Komponente ist auf welcher viele der anderen Services aufsetzen.

 

Die Services Registry stellt in gewisser Weise eine Art Telefonzentrale dar , die Clientanwendung, wie zum Beispiel ein Content Management System oder aber eine andere beliebige Webanwendung, anrufen können um nach einem Dienst zufragen, welcher gerade benötigt wird. Tatsächlich fragt die aufrufende Anwendung mit einem Namen wie zum Beispiel: „Suche“ oder „Dokumentenmanagement“ die Service Registry und erhält die Information wie dieser Service zu erreichen ist. Die Information beinhaltet eine vollständige URL und kann als Einstiegspunkt zur Verwendung des Service benutzt werden.

 

Die einfachere und klassische Variante ohne die Verwendung einer Service Registry ist, dass die Client Anwendung die URL auf den Einstiegspunkt selber gespeichert hat. Allerdings gibt es bei dieser klassischen Variante einige Nachteile:

 

  • Die URL ist statisch in der Clientanwendung gepflegt und muss bei Veränderungen der URL mit geändert werden. Zieht der zu nutzende Service auf einen anderen Server um oder ändert sich der TCP/IP Port, muss die Clientanwendung in der Regel mit angepasst werden.
  • Es ist keine Verwendung von clientseitigem Load Balancing möglich. Das bedeutet, selbst wenn der Service auf mehreren Servern eingerichtet ist, kann der Client diese nicht dynamisch nutzen.
  • Es gibt oft keine Echtzeit Übersicht über den aktuellen Stand der zur Verfügung stehenden Services. Es besteht natürlich die Möglichkeit, ein sehr gutes Monitoring einzurichten, was diese Fähigkeit besitzt. Allerdings sind die klassischen Monitoring Lösungen wie zum Beispiel Nagios dafür nicht konzipiert und vorgesehen. In den meisten Fällen sind diese auch so nicht eingerichtet.

 

Diese aufgeführten Nachteile der herkömmlichen Verknüpfung von Clientanwendung und Anwendungsdienst (Service)  zeigen im Umkehrschluss natürlich auch die Vorteile einer Service Registry:

 

  • Zentrale Übersicht aller Service und deren Status
  • Möglichkeit eines Load balancing
  • Keine clientseitige Anpassung bei Service und Infrastruktur Änderungen

 

Aber rechtfertigen diese Vorteile den Aufwand und den Betrieb einer Service Registry? Der Aufwand der Installation einer Service Registry ist sehr gering, da es bereits sehr gute und ausgereifte Produkte gibt:

 

  • Eureka aus dem Netflix Open Source Stack (Netflix OSS)
  • Consul
  • Zookeeper
  • Etcd

 

Die beiden erst genannten Produkte sind diejenigen mit der höchsten Verbreitung und damit auch die ausgereiftesten. In unserem Projekt haben wir hauptsächlich auf den Netflix OSS gesetzt und daher auf Eureka. Auch wir haben in unserem Pilotprojekt sehr gute Erfahrungen mit Eureka gemacht. Wichtig bei der Verwendung ist, dass die Service Registry nicht wiederum selbst zum Single Point of Failure wird und daher immer mehrfach betrieben werden sollte. Aber auch dieser Aspekt ist mit sehr geringem Aufwand umzusetzen. Ich empfehle für den Einstieg daher ein Spring Boot Projekt mit aktivierter Service Registry, welches im Beispiel Microservices Projekt von Eberhardt Wolff zur Verfügung steht. Sie werden erstaunt sein, mit wie wenig Quellcode die Service Registry umgesetzt ist.

Der Quellcode…

@SpringBootApplication
@EnableEurekaServer
@EnableDiscoveryClient
public class ServiceRegistryApplication {

public static void main(String[] args) {
SpringApplication.run(ServiceRegistryApplication.class, args);
}
}

 

Fazit:

Aus meiner persönlichen Sicht ist der Einsatz einer Service Registry auch ohne die Verwendung der gesamten Microservices Architektur von unschätzbarem Vorteil, sobald mehrere zentrale Services im Hause betrieben werden. Alleine die Tatsache, dass nicht mehr mit jeder Infrastruktur Anpassung die Client Anwendung und die Dokumentation bzw. das Monitoring angepasst werden müssen, sind im Dauerbetrieb mit geringem Personaleinsatz von unschätzbarem Wert. Hinzu kommt, dass wir in unserem Beispiel Projekt sowohl die Anbindung von Java Webanwendungen als auch von reinen HTML / Javascript Anwendungen relativ einfach umsetzen konnten. Wir konnten aus dem weit verbreiteten CMS Typo3 sehr leicht die Service Registry nach einem Service anfragen und diesen anschließend nutzen. Integriert man diese Anfrage Logik zum Beispiel in eine Typo3 Extension und macht diese so nachnutzbar für andere Typo3-Projekte, wird der Aufwand auf alle Projekte betrachtet noch geringer und der Nutzen somit noch größer. Zusätzlich bietet eine Service Registry als Basis der Platform Services weitere Möglichkeiten, welche ebenfalls von unschätzbarem Wert, um stabilen Betrieb von zentralen Services sind.

 

Diese Möglichkeiten werde ich in den kommenden Beiträgen detailliert aufführen und zeigen, wie man zum Beispiel ein bestehendes Fremdsystem, wie zum Beispiel Fedora Content Repository oder Pazpar2-Suche, in eine solche Service-Struktur einfach einbindet, ohne die Produkte selbst anpassen zu müssen.

Ich freue mich daher auf die kommenden Beiträge und hoffe auf zahlreiche Kommentare.

Schlagworte: Architektur, Bibliothek, Eureka, Fedora, Microservices, Pazpar2, Platform Services, Service Registry, Softwareentwicklung
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/Microservices2.jpg 475 845 Konrad Eichstädt https://blog.sbb.berlin/wp-content/uploads/stabi-logo-kante.png Konrad Eichstädt2016-05-12 09:21:532026-06-24 10:02:50Microservices, Service Registry „Die Zentrale“
Das könnte Sie auch interessieren
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.
Aktuelle Auslage vor dem Osteuropa-Lesesaal/Bildnachweis: Sabine Kaiser, Lizenz: CC BY-NC-SA 4.0Osteuropa-Abteilung der Staatsbibliothek zu Berlin, Lizenz CC BY-SA-NB Von serbischer Geschichte über slowakische Volksarchitektur bis zu ungarischer Literatur – aktuelle osteuropäische Neuerwerbungen
Happy Birthday, altes Haus!
Microservices, Sicherheit
Was im Rara-Lesesaal entsteht: Rekonstruktion der Büchersammlung Friedrich Gillys
Landschaftsplatz, Modellstudie / Jörn Köppler, Rom 2012K:\IID\IID_2_Wissenschaftliche_Dienste\01_uebergreifendeAufgaben\Wissenswerkstatt\Werkstattgespraeche\2017\WG_Koeppler_11.5\AW AW Werkstattgespräch 11.5. Abstract und Poster .msg Die Poetik des Bauens: Werkstattgespräch und Buchvorstellung am 11.5.
Microservices, Widerstandsfähigkeit
Hans Scharoun / Copyright: bpk /Fritz Eschenbpk /Fritz Eschen Herzlichen Glückwunsch, Hans Scharoun!
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:

  • Benutzungskommunikation bei Wissenshunger stillen ohne Krümel | Feed Your Hunger for Knowledge — Without the Crumbs
  • reinhard bei Wissenshunger stillen ohne Krümel | Feed Your Hunger for Knowledge — Without the Crumbs
  • Thomas Parschik bei Ein Bruchpilot im Brunnenhof
  • Benutzungskommunikation bei Fair bleiben – Pausenscheibe nutzen – Plätze teilen | Stay fair – Use the Study Break Disc – Share Your Desks
  • Guido Tamponi bei Fair bleiben – Pausenscheibe nutzen – Plätze teilen | Stay fair – Use the Study Break Disc – Share Your Desks

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: Informationen, Macht und das ‚right to be forgotten‘ – Werkstattgespräch am 31.5. Link to: Informationen, Macht und das ‚right to be forgotten‘ – Werkstattgespräch am 31.5. Informationen, Macht und das ‚right to be forgotten‘ – Werkstattgespräch...Delete key (Büşra Özcoşkun. Wikimedia Commons, bearb. CC BY-SA 4.0 https://creativecommons.org/licenses/by-sa/4.0/deed.de)K:\ZWR\Bildrechte\Murawski\WG_right_to_be_forgotten\wikimedia_delete_key.png Link to: Das „HoPo“ zu Besuch in Bamberg Link to: Das „HoPo“ zu Besuch in Bamberg Das „HoPo“ zu Besuch in Bamberg
Nach oben scrollen Nach oben scrollen Nach oben scrollen