Mon entreprise travaille actuellement à l'adoption d'une architecture de microservices mais nous rencontrons des difficultés croissantes (choc!) En cours de route. L'un des principaux points de discorde auquel nous sommes confrontés est de savoir comment communiquer de grandes quantités de données entre nos différents services.
Comme arrière-plan, nous avons un magasin de documents qui sert de référentiel pour tout document que nous pourrions avoir besoin de gérer dans toute l'entreprise. L'interaction avec ledit magasin se fait via un service qui fournit à un client un identifiant unique et un emplacement pour diffuser le document. Il est possible d'accéder ultérieurement à l'emplacement du document via une recherche avec l'ID fourni.
Le problème est le suivant: est-il logique que tous nos microservices acceptent cet ID unique dans le cadre de leur API dans le but d'interagir avec des documents ou non? Pour moi, cela semble intrinsèquement mauvais - les services ne sont plus indépendants et dépendent du service du magasin de documents. Bien que je reconnaisse que cela pourrait simplifier la conception de l'API et peut-être même avoir des gains de performances, le couplage résultant plus que contrebalance les avantages.
Quelqu'un sait-il comment les licornes arc-en-ciel (Netflix, Amazon, Google, etc.) gèrent de gros fichiers / échanges de données entre leurs services?