Headerbild

Reliable Services

Mit Reliable Services bietet Microsoft den Entwicklern ein Programmiermodell, das es erlaubt, diskrete und feingranulare Services zu entwickeln. Der Schwerpunkt liegt dabei auf der Implementierung der wesentlichen Funktionen. Die Lösung von komplexen, infrastrukturellen Problemen wird durch Service Fabric nachhaltig vermieden. Auf diese Weise wird stets sichergestellt, dass die Services immer leicht skalierbar, stabil zuverlässig und gut kontrollierbar sind.

Die Entwicklung von Services in Service Fabric bietet – durch das Reliable-Services-Programmier-Modell – eine Vielzahl an Vorteilen. Dazu zählen insbesondere:

  • Verlässlichkeit
  • Verfügbarkeit
  • Skalierbarkeit
  • Konsistenz 

Die Entwickler profitieren vor allem von der – durch Service Fabric bereitgestellte – Infrastruktur.


Das Reliable-Services-Programmier-Modell ermöglicht die Bereitstellung von Services in zwei Ausprägungen: 

  • Stateful Reliable Services 
  • Stateless Reliable Services

Somit können sich die Programmierer stets für die passenden Eigenschaften entscheiden.


Stateless Reliable Services
Bei dieser Service-Variante existiert der Zustand nur im Rahmen eines Aufrufs. Der Zustand wird nicht über mehrere Aufrufe hinweg im Service verwaltet. Damit entfällt die Notwendigkeit der Synchronisation, der Datenreplikation, des Persistierens oder ähnlichem. Jedoch sind die meisten Services von der Veranlagung her nicht zustandslos, daher wird oft mit der Auslagerung von Zuständen in Queues, Caches, usw. gearbeitet.


Stateful Reliable Services 
Bei dieser Variante der Reliable Services wird die Konsistenz und Verfügbarkeit des Zustands über mehrere Aufrufe hinweg vorausgesetzt. Die Behandlung des Zustands ist dabei von Bedeutung, damit der Service funktionsfähig bleibt. 


Die meisten Services heutzutage sind jedoch statusbehaftet und speichern ihre Zustände extern, was Konsistenz, Verfügbarkeit und Skalierbarkeit gewährleistet. Für die Stateful Reliable Services übernimmt Service Fabric die Aufgabe der Verwaltung, sowohl für die Service States wie auch für den Service selbst. So wird Hochverfügbarkeit durch Replikation und Partitionierung ermöglicht, gesteuert durch Service Fabric.

Bei der Umsetzung vieler Praxisaufgaben führt eine Kombination aus beiden Varianten zum besten Ergebnis.