Популярним вибором архітектури високого рівня в сучасній програмі є система мікросервісів на базі REST. Це має ряд переваг, таких як нещільне з’єднання, легке повторне використання, обмежене обмеження технологій, які можна використовувати, висока масштабованість тощо.
Але одна з проблем, які я передбачу в такій архітектурі, - це погана видимість залежностей програми. Наприклад, скажімо, у мене є програма, яка щодня використовує один набір REST-дзвінків. Ця програма також використовує другий набір REST-дзвінків, але лише раз на квартал. Якби я сканував журнали минулого тижня, я б бачив усі щоденні дзвінки, але я, швидше за все, не бачив щоквартальних дзвінків. Коли настає час рефактора, щоквартальні дзвінки мають високий ризик перерви.
Які шаблони чи інструменти можна використовувати, щоб зменшити цей ризик та забезпечити більшу видимість того, якими є залежність слабко пов'язаної архітектури?