Gateway Service II. Распределенная трассировка запросов

Распределённая трассировка запросов (Distributed Tracing) — это методика, позволяющая отслеживать запросы, проходящие через различные сервисы. В условиях микросервисов, где система состоит из множества взаимодействующих элементов, распределённая трассировка помогает разработчикам и инженерам понимать, как запросы перемещаются по системе, и выявлять узкие места или проблемы производительности. Distributed tracing
Источник: Introduction to Brave Для отслеживания, визуализации и анализа распределенной трассировки микросервисов будет использоваться один из наиболее популярных фреймворков - Zipkin (Distributed Tracing Server). Он хорошо интегрирован в экосистему Spring с помощью библиотеки инструментации Micrometer (фреймворк для сбора метрик в Java-приложениях). Расширение для Micrometer OpenZipkin Brave "из коробки" поддерживает работу с трассировкой через Zipkin, добавляя поддержку контекста трассировки. Для отправки данных трассировки в Zipkin используется библиотека Zipkin Reporter Brave, которая работает вместе с Brave (Instrumentation Library).

Доступ после оплаты курса


Основные компоненты и принципы работы

Конфигурирование трассировок для Zipkin

  • Настройка трассировок в Gateway Service
  • Настройка трассировок в микросервисах

Обновление Docker Deployment всех микросервисов


Просмотр трассировок в Zipkin

Сервер Zipkin предоставляет интерфейс для просмотра трассировок: http://localhost:9411/zipkin

Нажмите на кнопку Run Query. В браузере отобразятся последние 10 совершенных запросов
Количество отображаемых запросов и промежуток времени можно менять в элементах под этой кнопкой.

Раскройте запрос с наибольшим количеством спанов (7), нажав на кнопку SHOW. Кликая на каждый Span (цветную линию), вы получаете больше сведений о нем. Мы видим путь, который прошел этот запрос к Gateway Service по маршруту /v1/menu-aggregate/1 для получения агрегированной информации о блюде с id=1

Вначале запрос обрабатывается Gateway Service, после чего отправляется в Menu Aggregate Service, который в свою очередь отправляет по одному запросу в Menu Service и Review Service. Эта информация, а также время обработки каждого запроса теперь доступна в Zipkin. Кроме того, во вкладке Dependencies доступна графическая информация о том, как между собой общаются микросервисы:

На этом урок, посвященный началу работы с Gateway Service, завершен. Мы настроили единую точку входа в наше приложение, добавили ограничение количества запросов, а также настроили распределенную трассировку запросов.

Занятие 12: Security, Authorization и Authentication (Keycloak)
Контакты: Григорий Кислин
E-mail: admin@javaops.ru
ОГРНИП: 317784700063201 | ИНН: 782581076920

Cайт-партнер: topjava.ru
Поделиться:
Москва Санкт-Петербург Киев Минск Харьков Новосибирск Львов Нижний Новгород Алматы Одесса Днепр Краснодар Екатеринбург Самара Ростов-на-Дону Днепропетровск Казань Воронеж Челябинск Пермь Гомель Владивосток Астана Томск Саратов Гродно Уфа Калининград Николаев Запорожье Ярославль Омск Кемерово Белгород Брест Ташкент Херсон Ижевск Чебоксары Караганда Волгоград Балашиха Йошкар-Ола Киров Барнаул Калуга Иркутск Магнитогорск Донецк Монреаль Warszawa Los Angeles Винница Сыктывкар Тюмень Рига Кишинев Бишкек Владимир Красноярск Ульяновск Жуковский Тольятти Тверь Вологда Улан-удэ Сочи Иваново Мариуполь Пенза Краков Сумы Подольск Тула Рязань Хабаровск Helsinki Могилев Haifa Полтава Сургут Новокузнецк Березники San Francisco Иннополис Tel Aviv Ереван Тернополь Ставрополь Кривой рог Северодвинск Витебск Астрахань

AltStyle によって変換されたページ (->オリジナル) /