Как отслеживать промежуток через различные зависимости с Sleuth?
Я учусь отслеживать свои распределенные процессы через все микросервисы. Я играл с Sleuth, Zipkin и различными микросервисами, и это работает фантастически! Но когда я пытаюсь сделать то же самое в проекте, взаимодействующем между различными зависимостями, я не могу создать то же самое поведение.
Это изображение показывает, как в настоящее время работают различные микросервисы.
И это изображение показывает, как работает приложение с зависимостями.
Это схема приложения с зависимостями:
Интересно, возможно ли создать такое же поведение, используя зависимости, как с микросервисами?
2 ответа
Да, когда вы создаете диапазон, вы можете установить имя сервиса. Просто позвони newSpan.remoteServiceName(...)
Взяв за основу ввод @MarcinGrzejszczak, я решил использовать пользовательский диапазон:
Span remoteDependency = tracer.nextSpan()
.name("dependency_name")
.start();
куда tracer
является автопроводным объектом из Trace
:
@Autowired
private Tracer tracer;
Оба класса находятся в brave
пакет
import brave.Span;
import brave.Tracer;
Результат:
Если вы хотите взглянуть на реализацию более подробно, вот пример: https://github.com/juanca87/sample-traceability-microservices