Читать книгу Программирование Cloud Native. Микросервисы, Docker и Kubernetes - Иван Портянкин - Страница 18
1. Приложения, созданные для облака – концепция Cloud Native
Инструменты для сбора журналов и наблюдения
ОглавлениеРазвернув систему из множества микросервисов, общающихся между собой по сети, зачастую асинхронно, мы получим взрывной рост разнообразных условий, при которых система будет вести себя отлично от идеала. В отличие от монолитного приложения, журналы (logs) которого можно анализировать в относительном порядке, и не волноваться о сбоях вызовов внутри одного процесса, в распределенной, микросервисной среде каждый вызов может сорваться или внести каскадный сбой.
Вокруг концепции Cloud Native сложилась огромная, динамичная экосистема решений и продуктов, помогающих решить неизбежные проблемы распределенных асинхронных систем. Прежде всего это сервисные сетки (service mesh, смысл термина состоит в упорядочении и управлении сетевых переговоров микросервисов, но слово «сеть», и мы используем сетку чтобы уменьшить путаницу), такие как Istio и Linkerd. Сервисные сетки решают многие проблемы, дают возможность наблюдать за сетевыми вызовами, строить графы, получить задержки, и многое другое. Системы сбора метрик, такие как Prometheus, позволяют интегрировать метрики вашей системы в единые центры наблюдения. Управление журналами, например Fluentd, справляется со сбором и упорядочением десятков разнообразных журналов, полученных от микросервисов. Мы еще раз вспомним эти инструменты, когда будем рассматривать микросервисы в следующей главе.