Mein Unternehmen arbeitet derzeit an der Einführung einer Mikroservice-Architektur, aber auf dem Weg dorthin stoßen wir auf wachsende Schmerzen (Schock!). Einer der zentralen Streitpunkte, denen wir gegenüberstehen, ist die Kommunikation großer Datenmengen zwischen unseren verschiedenen Diensten.
Als Hintergrund haben wir einen Dokumentenspeicher, der als Aufbewahrungsort für alle Dokumente dient, die wir möglicherweise unternehmensweit bearbeiten müssen. Die Interaktion mit dem Geschäft erfolgt über einen Dienst, der einem Kunden eine eindeutige ID und einen Ort zum Streamen des Dokuments bereitstellt. Der Speicherort des Dokuments kann später über eine Suche mit der angegebenen ID abgerufen werden.
Das Problem ist: Ist es sinnvoll, dass alle unsere Mikrodienste diese eindeutige ID als Teil ihrer API akzeptieren, um mit Dokumenten zu interagieren, oder nicht? Für mich ist das von Natur aus falsch - die Dienste sind nicht mehr unabhängig und stützen sich auf den Dienst des Dokumentenspeichers. Zwar ist mir klar, dass dies das API-Design vereinfachen und möglicherweise sogar zu Leistungssteigerungen führen kann, doch die resultierende Kopplung wirkt den Vorteilen mehr als entgegen.
Weiß jemand, wie die Regenbogen-Einhörner (Netflix, Amazon, Google usw.) mit dem Austausch großer Dateien / Daten zwischen ihren Diensten umgehen?