Actualmente, mi empresa está trabajando en la adopción de una arquitectura de microservicio, pero nos encontramos con algunos dolores de crecimiento (¡shock!) En el camino. Uno de los puntos clave de contención que enfrentamos es cómo comunicar grandes cantidades de datos entre nuestros diferentes servicios.
Como información básica, tenemos un almacén de documentos que sirve como depósito para cualquier documento que necesitemos manejar en toda la empresa. La interacción con dicha tienda se realiza a través de un servicio que proporciona al cliente una identificación única y una ubicación para transmitir el documento. Posteriormente se puede acceder a la ubicación del documento a través de una búsqueda con la ID proporcionada.
El problema es este: ¿tiene sentido que todos nuestros microservicios acepten esta identificación única como parte de su API con el fin de interactuar con documentos o no? Para mí, esto se siente inherentemente incorrecto: los servicios ya no son independientes y dependen del servicio de la tienda de documentos. Si bien reconozco que esto podría simplificar el diseño de la API e incluso tener algunas ganancias de rendimiento, el acoplamiento resultante más que contrarresta los beneficios.
¿Alguien sabe cómo los unicornios arcoíris (Netflix, Amazon, Google, etc.) manejan el intercambio de archivos / datos de gran tamaño entre sus servicios?