Wie man ereignisgesteuerte Mikrodienste zähmt

Wie man ereignisgesteuerte Mikrodienste zähmt

Moderne Microservice-Architekturen sind ereignisgesteuert, reaktiv und choreografiert (im Gegensatz zur zentralen Steuerung über einen Orchestrator), sodass sie lose gekoppelt und leicht geändert werden können, oder?

TL; DR: Oh nein! Sie werden auf Hindernisse stoßen, wenn Sie den Ablauf von Ereignissen verstehen und verwalten.

In diesem Artikel werde ich meine Erfahrungen mit der Choreografie von Microservices zusammenfassen und auf die verschiedenen Hindernisse und Auswirkungen dieses Ansatzes hinweisen. Ich verwende ein typisches Geschäftsbeispiel - den "Customer Onboarding" -Prozess (je nach Branche wird möglicherweise davon gesprochen, dass ein Konto eröffnet wird ). Für die unten dargestellte Ereigniswarteschlange verwende ich Apache Kafka , aber keine Sorge, wenn Sie einen anderen Stapel verwenden, gelten dieselben Konzepte.





Choreographie von Mikrodiensten



Angenommen, die folgenden Dienste und Ereignisse bilden Ihr choreografiertes System:



Wie man ereignisgesteuerte Mikrodienste zähmt

Die Haupthindernisse, die bei der Verwendung dieses Ansatzes auftreten, können durch die folgenden Fragen beschrieben werden



  • Wie ändere ich den Ereignisfluss?
  • ? ?
  • SLA ? - ? ? ?
  • (, )?


, .







, . - . , , .



Wie man ereignisgesteuerte Mikrodienste zähmt



.



, , . :



Wie man ereignisgesteuerte Mikrodienste zähmt



. , .



. , . , . - .





?



, . - « », , . : “ ”, : “, , , ”. “ ‘ ’?”:



, . , , . , , . , — , . , , , . , , .

Wie man ereignisgesteuerte Mikrodienste zähmt



InfoQ (. “ ”) :



  1. ( Zipkin Jaeger)
  2. ( Elastic)
  3. ( ProM)
  4. ( Camunda)


, , , . . . Elastic — , . , - . , .







.



Wie man ereignisgesteuerte Mikrodienste zähmt



“ ” .



Wie man ereignisgesteuerte Mikrodienste zähmt



.



Wie man ereignisgesteuerte Mikrodienste zähmt



SLA, :



Wie man ereignisgesteuerte Mikrodienste zähmt



:



Wie man ereignisgesteuerte Mikrodienste zähmt



: ? ( ), .



, :



Wie man ereignisgesteuerte Mikrodienste zähmt



, :



Wie man ereignisgesteuerte Mikrodienste zähmt



Kafka Summit San Francisco 2018 (. “ Kafka Zeebe”), .



. “: .”



, , .





SLA



. ?



, . , . ( “ ” QCon London; . “ BPM ”).



Wie man ereignisgesteuerte Mikrodienste zähmt



(Java Spring Boot) “3 ”, Camunda, , ( GitHub). , .



, , . - ! , SLA , SLA.



, .



Wie man ereignisgesteuerte Mikrodienste zähmt





. “ ”. , ! . , -, -. .



“ ”, - , , , - , .



, . , . , , .



Wie man ereignisgesteuerte Mikrodienste zähmt





, , , , .



Wie man ereignisgesteuerte Mikrodienste zähmt

, , “” SOA BPM. . . , . , , GitHub.







, :



Wie man ereignisgesteuerte Mikrodienste zähmt



  • , , “ ”. , . .
  • , . , API . , , .


. , , -, .







. , , — , . , : . , , .





Dieser Beitrag wurde ursprünglich auf InfoWorld veröffentlicht . Ich habe kürzlich auf der QCon NYC (Präsentation) einen Vortrag zu diesem Thema gehalten .




All Articles