Набор микросервисов на Spring Boot демонстрирует, как можно получить сквозные traceId и spanId для всего приложения, используя micrometer-tracing-bridge-otel.
Приложение состоит из следующих компонентов:
- Gateway: маршрутизирует запросы к другим сервисам.
- Config Service: управляет конфигурацией приложения.
- Market: сервис, предоставляющий информацию о товарах.
- Inventory: сервис, отвечающий за управление запасами.
Запустите все сервисы в отдельном терминале при помощи команд.
cd {APP_ROOT}
make allЗавершите приложение выполнив команду в терминале:
kill $(ps aux | grep 'spring-boot:run' | grep -v grep | awk '{print $2}') После запуска всех сервисов вы можете проверить трассировку, отправив запрос через Gateway:
curl http://localhost:8765/api/market/productsВ логах каждого сервиса вы увидите traceId и spanId, автоматически добавленные Micrometer Tracing Bridge Otel. Для формирования логов будет создана папка logs после выполнения зарпоса для получения списка продуктов, можно будет увидель логах разных сервисов наличие записей с одинаковым traceId.
Пример логов:
2024-10-02 12:00:00 INFO [service-name] traceId=abc123 spanId=xyz456 - Handling request...
С помощью этого простого приложения вы можете увидеть, как легко интегрировать трассировку с помощью Micrometer Tracing Bridge Otel в микросервисной архитектуре. Теперь у вас есть возможность отслеживать запросы через все компоненты вашего приложения с помощью traceId и spanId.