was ich bevorzuge sind 2 Monoliths: für's Backend und für die Storefront - und mehrere kleinere Microservices für's Backend die zusätzliche Funktionalitäten hinzugefügt die nicht im Standart drin sind (bezahl methoden die müssen ja nicht alle im Backend drin sein wenn man sich entscheidet nur eine zu nützen) - für die Storefront benutze ich feature toggles um Funktionalitäten an/aus zu schalten
Hallo Thomas, super Video. Mir fallen noch zwei Aspekte ein, die man in diesem Themenbereich noch genauer erörtern könnte. Einmal, was die unterschiedlichen Ansätze für Implikationen auf mögliche/sinnvolle Transaktionsklammern haben. Und zweitens hast Du quasi gesagt, dass man einen Modulithen in einem gemeinsamen Repository entwickelt. Das kann man machen, muss man aber nicht. Denn insbesondere, wenn mehrere Teams an unterschiedlichen Modulen arbeiten, kommt man sich ständig mit den Commits und Versionen ins Gehege - der Git-Flow wird entsprechend kompliziert. Insbesondere, wenn man den Maven-Multimodule-Ansatz verfolgt, können die Module auch in verschiedenen Repositories liegen.
Hi @marcom, danke für die Hinweise. Datenzugriff und Transaktionssicherheit darf man in der Diskussion nicht vergessen. Den Modulith kann man in einem Repo entwickeln, wie du schreibst muss man das aber nicht. Man kann sogar aus mehreren Code-Repos entweder einen Modulith oder Microserives bauen.
Bei Module habe ich Interfaces und Interfaces haben Daten. Wo kommen die Daten (Entities) her?. Diese muss ich oft auch duplizieren, dass ist ein kleiner Nachteil. Microservices haben den Vorteil, dass Code auch eher entsorgt werden kann - der Scope ist begrenzt. Microservices können in der passenden Technologie entwickelt werden - es muss nicht alles homogen sein. Mit Mircoservices kann man Menschen "skalieren". Micro- und Macro-Sevices können auch mit Module implementiert werden.
Zu wenig likes und Kommentare... Thomas vielen Dank für deine Mühe und Zeit.
Danke Yasin für den Kommentar.
was ich bevorzuge sind 2 Monoliths: für's Backend und für die Storefront - und mehrere kleinere Microservices für's Backend die zusätzliche Funktionalitäten hinzugefügt die nicht im Standart drin sind (bezahl methoden die müssen ja nicht alle im Backend drin sein wenn man sich entscheidet nur eine zu nützen) - für die Storefront benutze ich feature toggles um Funktionalitäten an/aus zu schalten
Hi Frederik, danke für die Beschreibung deines Ansatzes. Ich denke, dass das ganz praktikabel ist.
Hallo Thomas, super Video. Mir fallen noch zwei Aspekte ein, die man in diesem Themenbereich noch genauer erörtern könnte. Einmal, was die unterschiedlichen Ansätze für Implikationen auf mögliche/sinnvolle Transaktionsklammern haben. Und zweitens hast Du quasi gesagt, dass man einen Modulithen in einem gemeinsamen Repository entwickelt. Das kann man machen, muss man aber nicht. Denn insbesondere, wenn mehrere Teams an unterschiedlichen Modulen arbeiten, kommt man sich ständig mit den Commits und Versionen ins Gehege - der Git-Flow wird entsprechend kompliziert. Insbesondere, wenn man den Maven-Multimodule-Ansatz verfolgt, können die Module auch in verschiedenen Repositories liegen.
Hi @marcom, danke für die Hinweise. Datenzugriff und Transaktionssicherheit darf man in der Diskussion nicht vergessen. Den Modulith kann man in einem Repo entwickeln, wie du schreibst muss man das aber nicht. Man kann sogar aus mehreren Code-Repos entweder einen Modulith oder Microserives bauen.
Bei Module habe ich Interfaces und Interfaces haben Daten. Wo kommen die Daten (Entities) her?. Diese muss ich oft auch duplizieren, dass ist ein kleiner Nachteil. Microservices haben den Vorteil, dass Code auch eher entsorgt werden kann - der Scope ist begrenzt. Microservices können in der passenden Technologie entwickelt werden - es muss nicht alles homogen sein. Mit Mircoservices kann man Menschen "skalieren". Micro- und Macro-Sevices können auch mit Module implementiert werden.