Читаю довольно свежую книгу «Building Microservices. Designing Fine-Grained Systems», Sam Newman
Первая самая мощная рекомендация, которую я считаю, очень важной — это внедрение агреггированной системы логирования.
Это система, которая будет собирать и формировать общий лог со всех микросервисов, которые находятся в системе.
Действительно, когда довольно большая система разбита на части с некоторыми, порой весьма неожиданными законами взаимодейтсвия, определение истинных источников некорректной работы системы может стать вашим самым страшным кошмаром, при котором надо залезать в разные системы и ломать голову, что же тут могло пойти не так. Да, сценарии тестирования могут помочь, но не являются панацеей. А вот система логов, которая собирает все данные в одном месте, строго соблюдая хронологию — вещь незаменимая.
Автор настолько серьезно относится к этой рекомендации, что указывает на необходимость этого условия «по умолчанию» — т.е. сначала обеспечьте общее логирование, а затем уже пилите свои микросервисы.
Также эта аггрегация может являться центром ваших уведомлений по любым проблемам, происходящим в системе.
Подписываюсь под каждым словом ))