Jaeger + OpenTelemetry: tracing distribuído, dependências entre aplicações…

Renato Groffe
2 min readMay 29, 2022

--

Este diagrama traz um exemplo de dependências entre diferentes aplicações (4 APIs REST), tendo sido gerado sem muito esforço através da implementação de tracing distribuído utilizando Jaeger e OpenTelemetry.

O Jaeger e o OpenTelemetry são duas soluções open source que contam com o apoio da CNCF (Cloud Native Computing Foundation), com ambos suportando as stacks de desenvolvimento mais populares na atualidade. Embora as quatro aplicações representadas na figura tenham sido criadas em .NET, poderíamos muito bem criar implementações equivalentes em Go, Java, Node.js, Python e C++. Ou até mesmo combinar aplicações construídas em diferentes stacks e se comunicando entre si!

Todas essas implementações foram disponibilizadas no seguinte repositório do GitHub:

https://github.com/renatogroffe/DistributedTracing-OpenTelemetry-Jaeger-DotNet6

Caso achem útil a solução, peço por favor um ⭐️ no repositório apoiando. Fica também o convite para que vocês me sigam lá no GitHub!

Na próxima imagem temos um exemplo de tracing distribuído gerado por este cenário, com as diferentes interações representadas ao longo de uma timeline:

Clique nesta imagem para visualizar com uma melhor resolução

Uma solução parecida com esta também já foi demonstrada em detalhes em uma live recente que realizei no Canal .NET, com a mesma estando disponível para se assistir gratuitamente no YouTube:

Utilizei também os slides a seguir em apresentações recentes, abordando a importância da implementação de mecanismos de tracing em cenários de aplicações distribuídas e microsserviços:

O tema observabilidade e monitoramento de aplicações foi também assunto de mesas redondas recentes do canal Coding Night, inclusive com discussões envolvendo a implementação de tracing distribuído. As gravações estão disponíveis em uma playlist no YouTube:

E finalizo este post com um convite…

Segunda 20/06 às 21:00 horário de Brasília — teremos mais um evento online e gratuito no canal Canal .NET.

Além de uma nova demonstração com tracing distribuído em .NET utilizando Jaeger e OpenTelemetry, esta live trará novas dicas, truques e alternativas úteis para o desenvolvimento Back-End e de APIs REST com .NET 6, C#, ASP.NET Core e Azure Functions.

Ao longo da apresentação será coberto o uso de diferentes frameworks, serviços na nuvem, mensageria e boas práticas de forma a facilitar e tornar mais dinâmica a implementação de soluções baseadas na plataforma .NET no seu dia a dia.

Teremos também algumas novidades do .NET 7 e C# 11!

Para participar faça sua inscrição no link a seguir, a transmissão acontecerá via YouTube:

https://bit.ly/live-backend-dotnet-2022-pt2

--

--

Renato Groffe
Renato Groffe

Written by Renato Groffe

Microsoft Most Valuable Professional (MVP), Docker Captain, Multi-Plataform Technical Audience Contributor (MTAC), Technical Writer and Speaker

No responses yet