Loslegen
Javaneer
Zurück zum Fahrplan
🧱
Stufe 4

Der modulare Monolith

Microservice-Disziplin ohne den verteilten Schmerz.

Die Architektur, zu der die meisten Teams vor Microservices greifen sollten: ein Deployable, sauber in Module mit erzwungenen Grenzen aufgeteilt. Warum die Wahl Monolith-vs-Microservices ein falsches Entweder-oder ist, Organisation nach Feature-Modul statt nach technischer Schicht, Grenzen mit Spring Modulith und ArchUnit erzwingen, Kommunikation zwischen Modulen über Events - und ein gut modularisierter Monolith als Startrampe, um Dienste nur bei echtem Bedarf herauszulösen.

6 Lektionen in dieser Stufe1 h 26 min
Erste Lektion starten

Lektionen in dieser Stufe

  1. 01

    Das falsche Entweder-oder

    Fortgeschritten

    Monolith und Microservices sind nicht die einzigen Optionen - und Microservices zu früh zu wählen erkauft verteilten Schmerz für Probleme, die man nicht hat. Der verteilte Monolith, das Schlechteste aus beidem.

    14 Min.
  2. 02

    Module, keine Schichten

    Fortgeschritten

    Nach Feature-/Domänenmodul (vertikale Slices) organisieren statt nach technischen Schichten (controllers/, services/, repos/) - damit eine Änderung an einem Ort lebt und Module später zu Diensten werden können.

    14 Min.
  3. 03

    Grenzen erzwingen

    Experte

    Eine Modulgrenze zählt nur, wenn sie erzwungen wird. Öffentliche Modul-APIs vs. interne Pakete - und den Build brechen, wenn ein Modul in die Interna eines anderen greift (ArchUnit, Modulith).

    15 Min.
  4. 04

    Kommunikation zwischen Modulen

    Experte

    Wie Module reden, ohne zum Knäuel zu werden: eine schmale öffentliche API für synchrone Aufrufe, Domain Events zur Entkopplung - und warum eine gemeinsame Datenbank der Grenzen-Killer ist.

    15 Min.
  5. 05

    Spring Modulith

    Experte

    Das Framework, das Module in Spring Boot erstklassig macht: Anwendungsmodule deklarieren, Grenzen in einem Test verifizieren, Modul-Events und automatisch erzeugte Dokumentation.

    15 Min.
  6. 06

    Die Startrampe zu Microservices

    Fortgeschritten

    Ein gut modularisierter Monolith ist der beste Ausgangspunkt: behalte die Module, bis Skalierung, Team oder Deployment das Herauslösen eines Dienstes rechtfertigen - dann ist die Naht bereits da.

    13 Min.