Übersicht über Frameworks für die Orchestrierung von Microservices: Conductor, Zeebe, Temporal

Durch die Orchestrierung von Microservices können Sie komplexe Prozesse in Produkten erstellen. Um diese Mechanik nicht von Hand schreiben zu müssen, können Entwickler vorgefertigte Frameworks verwenden, die Tools zum Verwalten von Microservices enthalten. Wir bei True Engineering haben dieses Thema untersucht und über drei solche Frameworks gesprochen.





Bei der Automatisierung eines komplexen Geschäftsprozesses kann ein Produkt mehrere Microservices gleichzeitig umfassen. Und wenn es recht einfach ist, die Interaktion mehrerer Module in einem Monolithen aufzubauen, treten in einer verteilten Architektur, in der jede dieser Komponenten eine separate Anwendung ist, Schwierigkeiten auf.





Der Microservices Orchestrator überwacht die Ausführung von Prozessen. Dadurch gehen keine Daten verloren, der Support kann Probleme leichter beheben und Entwickler können die Entwicklung des gesamten Systems einfacher verwalten.





Sie können ein solches Modul von Grund auf neu schreiben oder ein vorgefertigtes Framework verwenden. Wenn ein Unternehmen mehrere Entwicklungsteams hat, sind solche Frameworks unverzichtbar. Erstens müssen Programmierer nicht immer wieder denselben Job machen. Zweitens, wenn jeder gemeinsame Werkzeuge verwendet, haben die Teams einheitliche Arbeitsstandards, was sich unmittelbar auf die Qualität der Produkte auswirkt. Anstatt das Rad neu zu erfinden, konzentrieren sich alle darauf, ein gemeinsames Werkzeug zu entwickeln.





Orchestrierungs-Framework-Architektur

Das Framework enthält sofort einsatzbereite Orchestrierungskomponenten. Dies ist der Orchestrator selbst, der Aufgaben akzeptiert und zur Ausführung an funktionierende Microservices überträgt.





(, ), , . « », « », « ». . , , .





, .





  • . , . , .





  • . . , - , , - . , Saga – , - .





  • . , .





  • . , (, Java .NET).





, . , .





Conductor Netflix. - JSON-. , . - – .





Zeebe Camunda. Camunda – BPMN-, (, -). Camunda, Zeebe . – , -. XML-.





Temporal. . – , . .





:





  • . Zeebe . Temporal – .





  • . , yj Zeebe . Saga .





  • . .





  • . Java-, .NET- .





Der Vergleich zeigt, dass es keine Silberkugel gibt - jedes Framework ist auf seine Weise gut. Das Tool muss in einem Dialogfeld mit Befehlen ausgewählt werden. Jemand kann möglicherweise besser mit JSON arbeiten, ein anderer wird die Visualisierung zu schätzen wissen und der dritte möchte sauberen Code verwenden.





Jedes Framework ist jedoch besser, als die Orchestrierung separat in den Code jedes Produkts einzubetten. Auf diese Weise müssen Entwickler die Mechanik erneut untersuchen und den Code jedes Mal überladen. Im gesamten Unternehmen erhalten Sie einheitliche Standards, mit denen Sie alle Ihre Teams auf eine gemeinsame Entwicklungsplattform bringen können.








All Articles