Читать книгу Vom Monolithen zu Microservices - Sam Newman - Страница 21
Der verteilte Monolith
ОглавлениеEin verteiltes System ist eines, in dem der Ausfall eines Rechners, von dessen Existenz Sie überhaupt nichts wussten, Ihren eigenen Rechner unbenutzbar machen kann.5
– Leslie Lamport
Ein verteilter Monolith ist ein System, das aus mehreren Servern besteht, das aber aus welchen Gründen auch immer gemeinsam deployt werden muss. Ein verteilter Monolith kann die Definition einer serviceorientierten Architektur sehr gut erfüllen, schafft es aber häufig nicht, die Versprechen der SOA zu halten. Meiner Erfahrung nach haben verteilte Monolithen alle Nachteile eines verteilten Systems und dazu noch die Nachteile eines Ein-Prozess-Monolithen, ohne von beiden Ansätzen viele Vorteile mitzunehmen. Meine Erfahrungen mit verteilten Monolithen waren ein wichtiger Grund für mein Interesse an der Microservices-Architektur.
Verteilte Monolithen entstehen typischerweise in einer Umgebung, in der man sich nicht ausreichend mit Konzepten wie Information Hiding oder der Kohäsion von Businessfunktionalität befasst hat. Das führt zu eng gekoppelten Architekturen, in denen sich Änderungen über Servicegrenzen hinweg ausbreiten und scheinbar harmlose Anpassungen, die eigentlich nur lokale Auswirkungen haben sollten, andere Teile des Systems stören.