Teil III. Bau und Betrieb
Wenn du eine Microservice-Architektur aufbaust und betreibst, muss sich deine Herangehensweise an viele Aspekte der Softwareentwicklung und des Betriebs ändern. Meistens ergeben sich diese aus drei zentralen Aspekten einer Microservice-Architektur.
Erstens ist das System dezentralisiert, d.h. fast jede Anfrage geht mehrmals über das Netzwerk. Das bedeutet, dass Latenzzeiten und zeitweilige Ausfälle Teil des normalen Betriebs sind.
Zweitens muss so ziemlich alles, was du jetzt tust, mehrmals gemacht werden, weil du eine Menge verschiedener Dienste hast.
Schließlich können wir nicht länger ein Modell des gesamten Systems im Kopf behalten; es ist zu komplex. Architekturdiagramme sind veraltet, sobald sie erstellt sind, weil sich die Dinge regelmäßig ändern, und diese Komplexität bedeutet auch, dass wir nicht wirklich wissen, wovon wir abhängen. Ein Ausfall eines Systems, von dem du noch nie gehört hast, kann dich zu Fall bringen.1
Für jedes Kapitel in diesem Abschnitt werden wir uns ansehen, wie du es vermeiden kannst, in Schwierigkeiten zu geraten, aber auch, was du tun kannst, wenn du in den Sumpf gerätst.
1 In Leslie Lamports Worten: "Ein verteiltes System ist ein System, in dem der Ausfall eines Computers, von dem du nicht einmal wusstest, dass es ihn gibt, deinen eigenen Computer unbrauchbar machen kann".
Get Erfolgreiche Microservices ermöglichen now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.