Creo que uno de los mayores puntos débiles al trabajar con microservicios es asegurarse de que las API estén bien documentadas y que las API no cambien su comportamiento sin afectar las aplicaciones posteriores. Este problema se amplifica cuando tiene muchos servicios que son interdependientes entre sí. Quizás en ese momento estás haciendo mal los microservicios, pero estoy divagando.
Digamos que hemos heredado 20 microservicios que son propiedad de diferentes equipos y no existe una documentación clara sobre qué aplicación utiliza qué punto final de la API de otra aplicación. ¿Existe una forma prescrita de documentar esto? Al principio pensé en analizar los puntos finales de cada aplicación y agregarlos a una tabla de base de datos, luego crear una relación FK entre cada aplicación y la ruta de una aplicación en una tabla de muchos a muchos (casi todas estas son aplicaciones de rieles). Pero no estoy seguro si esta es una buena manera de manejar esto, o si estoy reinventando la rueda aquí.
En retrospectiva, esta podría ser una forma no tan mala de documentar la interacción de la aplicación si está comenzando con microservicios desde cero. Esto solo exigiría que se mantenga una única fuente de verdad mediante el uso de una base de datos y que cualquier cambio en los puntos finales se realizaría en la aplicación junto con el cambio en la base de datos. Pensamientos?