Ich denke, einer der größten Probleme bei der Arbeit mit Microservices besteht darin, sicherzustellen, dass die APIs gut dokumentiert sind und APIs ihr Verhalten nicht ändern, ohne die nachgelagerten Anwendungen zu beeinträchtigen. Dieses Problem wird verstärkt, wenn Sie viele Dienste haben, die voneinander abhängig sind. Vielleicht machen Sie an diesem Punkt Microservices falsch, aber ich schweife ab.
Angenommen, wir haben 20 Microservices geerbt, die verschiedenen Teams gehören, und es gibt keine eindeutige Dokumentation darüber, welche Anwendung den API-Endpunkt anderer Anwendungen verwendet. Gibt es eine vorgeschriebene Möglichkeit, dies zu dokumentieren? Zuerst dachte ich daran, die Endpunkte jeder Anwendung zu analysieren und sie einer Datenbanktabelle hinzuzufügen, dann eine FK-Beziehung zwischen jeder Anwendung und der Route einer Anwendung in einer Viele-zu-Viele-Tabelle zu erstellen (fast alle davon sind Rails-Apps). Aber ich bin mir nicht sicher, ob dies ein guter Weg ist, um damit umzugehen, oder ob ich das Rad hier neu erfinde.
Rückblickend könnte dies eine nicht so schlechte Möglichkeit sein, die Anwendungsinteraktion zu dokumentieren, wenn Sie mit Microservices von Grund auf neu beginnen. Dies würde lediglich erzwingen, dass eine einzige Wahrheitsquelle über die Verwendung einer Datenbank aufrechterhalten wird und alle Änderungen an den Endpunkten in der Anwendung in Verbindung mit der Änderung der Datenbank vorgenommen werden. Gedanken?