30 ноября 2022

Распределенная трассировка в действии: использование OpenTracing в расследовании инцидентов разработки

Для создания приложений разработчики всё чаще используют микросервисную архитектуру – гораздо более сложную, чем монолит, в плане мониторинга и разбора логов при возникновении инцидентов. Концепция OpenTracing, или распределенная трассировка запросов, позволяет автоматизировать этот процесс, отслеживать запросы и анализировать проблемы максимально удобным способом. Ведущий архитектор компании IT_One Андрей Дудин рассказывает о преимуществах, которые OpenTracing приносит команде разработки, и делится лайфхаками, взятыми из собственной практики.

OpenTracing – ответ на запрос времени

Мы, конечно, помним, как во времена монолитных приложений, сосредоточенных в больших кластерах, разбирать инциденты разработки приходилось по крупицам, используя вторичные признаки – IP, время и так далее. Найти конкретный запрос конкретного клиента было практически нереально. Чтобы получить нужную информацию по проблеме, нужно было разбирать огромные массивы логов. Наборы bash-скриптов для диагностики передавались "по наследству" от старших разработчиков к "джунам". Но, как ни странно, мы научились более-менее сносно жить с этим.

Когда же главенствующую роль в разработке заняла микросервисная архитектура, ситуация стала намного более тяжелой. Сегодня структура приложений и взаимосвязь между микросервисами усложняются. Команд разработки становятся все больше, количество логов и точек отказа растет одновременно с количеством сервисов, время ответа растет. Вот бы иметь возможность генерировать некий сквозной ID, который пронизывал бы логи и не терялся при прохождении запроса через различные очереди и базы данных.

И такая возможность появилась – с технологией OpenTracing. Она представляет собой независимый набор API и инструментов для распределенной трассировки запросов. В общих чертах – система присваивает каждому запросу специальный идентификатор: TraceID. Благодаря нему мы можем анализировать конкретные проблемы, а не искать примерно подходящие по времени или по IP. Кроме того, внедрив OpenTracing в приложения, мы получаем ряд дополнительных преимуществ: тайминги отдельных кусков кода, детальный анализ ошибок, анализ связанности сервисов, мониторинг отдельных вызовов.

Архитектура и компоненты OpenTracing

Наиболее популярные инструменты, в которых имплементированы стандарты распределенной трассировки, – Zipkin и Jaeger. Архитектуры двух этих продуктов с открытым исходным кодом схожие, и мы можем представить принцип их работы на одном примере.

Полный текст на сайте Comnews

iTrend начал работу с одним из лидеров российского рынка разработки решений на базе нейросетей — компанией «Наносемантика»

20 сентября 2023

«Наносемантика» входит в ТОП-10 российских компаний, занимающихся нейросетями, по версии CNews.

 

Стоп-фразы, или Что никогда нельзя писать в текстах - разбираем на VC

20 сентября 2023

Вот лишь поверхностным взглядом слова и фразы-мусор, которые мы стараемся не допускать в текстах.

 

Маркировка рекламы создаст новую профессию? Комментируем тему для Ъ

13 сентября 2023

Рекламщикам понадобились маркировщики: новые правила создали новую специальность

 

Как мемы и юмор помогают бизнесу. Комментируем для "Делового Петербурга"

29 августа 2023

Digital–директор iTrend Ася Шабалина поделилась своим мнением об использовании мемов и юмора в маркетинге.

 

Открыта вакансия "PR-менеджер в iTrend"

23 августа 2023

Мы в поисках любопытного, активного и общительного PR-менеджера для работы с ИТ-проектами.

 
Все новости iTrend