SOFATracer — это компонент для отслеживания вызовов в распределённых системах, который использует единую traceId
, чтобы записывать различные сетевые вызовы в виде логов, обеспечивая прозрачность этих вызовов. Эти логи могут использоваться для быстрого выявления проблем, а также для управления сервисами.
В современной реализации архитектур используется унифицированный подход на основе распределённых сервисов, где каждый приложение поддерживается набором различных сервисов. Различные сервисы обычно реализуются с помощью сложных масштабируемых распределённых кластеров, а сами приложения создаются на разных модулях программного обеспечения, которые могут быть разработаны различными командами, использовать различные языки программирования и размещены на нескольких тысячах серверов. Поэтому требуется наличие компонентов, которые помогут понять поведение онлайн-вызовов каждого приложения и анализировать производительность удалённых вызовов.Для анализа поведения онлайн-вызовов приложений и их производительности, Ant Financial предоставляет решение SOFATracer на основе стандарта OpenTracing.
Чтобы решить проблемы отслеживания вызовов при реализации крупномасштабной микросервисной архитектуры, SOFATracer предлагает следующие возможности:
На основе стандарта OpenTracing и его расширений предлагается решение для отслеживания вызовов. Каждый фреймворк или компонент может использовать эту реализацию, внедряя точки отслеживания в каждом компоненте для предоставления возможностей отслеживания вызовов.### 2.2 Асинхронная запись логов на диск
Основана на Disruptor — высокопроизводительной бесблокировочной циклической очереди, которая обеспечивает возможность асинхронной записи логов на локальный диск. Фреймворк или компонент может настроить формат вывода логов при подключении в условиях асинхронной записи логов. SOFATracer предлагает два типа аналогичных логов — сводные логи и статистические логи. Сводные логи: каждый вызов приводит к записи лога на диск; статистические логи: логи, записываемые с периодической статистической суммацией.
SLF4J предоставляет возможность использования MDC (mapped diagnostic contexts), что позволяет пользователям определять и изменять формат и содержание выводимых логов. SOFATracer интегрирована с SLF4J MDC, что делает возможным простое изменение конфигурационного файла логов для отображения текущего контекста трассировки (tracerId
) и (spanId
).
SOFATracer может отправлять данные трассировки удалённо в открытый продукт Zipkin для визуализации распределённой трассировки.
Конфигурационные файлы предоставляют богатую возможность настройки для удовлетворения уникальных требований приложений.
Для быстрого начала работы с SOFATracer, пожалуйста, обратитесь к разделу Быстрый старт документации.
Перед тем как делать вклад в код, пожалуйста, прочитайте раздел Как сделать вклад для получения информации о том, как вносить изменения в SOFATracer.Требования к среде сборки для SOFATracer — это JDK 7 или JDK 8, а также использование Apache Maven версии 3.2.5 или выше для сборки.
tracer-samples
данного проекта.Пожалуйста, обратитесь к официальной документации SOFATracer.
Часть реализации в SOFATracer была вдохновлена компонентом EagleEye от Alibaba. Выражаем благодарность команде EagleEye.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )