Popularnym wyborem architektury wysokiego poziomu we współczesnym programie jest system mikrousług oparty na REST. Ma to kilka zalet, takich jak luźne połączenie, łatwe ponowne użycie, ograniczone ograniczenie technologii, które można zastosować, wysoka skalowalność itp.
Ale jednym z problemów, które przewiduję w takiej architekturze, jest słaby wgląd w to, jakie są zależności aplikacji. Załóżmy na przykład, że mam aplikację, która codziennie korzysta z jednego zestawu połączeń REST. Ta aplikacja korzysta również z drugiego zestawu połączeń REST, ale tylko raz na kwartał. Gdybym miał zeskanować dzienniki z ostatniego tygodnia, zobaczyłbym wszystkie codzienne połączenia, ale prawdopodobnie nie widziałbym połączeń kwartalnych. Jeśli chodzi o czas na refaktoryzację, połączenia kwartalne są narażone na wysokie ryzyko zerwania.
Jakie wzorce lub narzędzia można zastosować w celu zmniejszenia tego ryzyka i zapewnienia lepszego wglądu w zależności między luźno sprzężoną architekturą?