Nerd For Tech
Published in

Nerd For Tech

Distributed Tracing in Micro Services with Jaeger

Jaeger is open source tool which created by uber for distributed tracing in between micro services.

Why We need Distributed Tracing in Micro services?

when it is come to micro service architecture most challenging task is inter continuation. Now a days when dealing with micro services we have to think about the each service execution time. For that is why needs to use distributed tracing mechanism across the micro services.

Assume that we need to trace the requests when customer send request to BFF Service. Here we are using spring boot to write the micro services.

Step 1: Add Dependencies & configurations

In this tutorial I am using spring boot to write micro services so these are the dependencies you have to add to maven project.

And add these configs in yml file.

This is the configuration for connect to jaeger Server Instance. And finally Create separate config file & add the following beans to identify the module details in jaeger server.

Like this way all the micro-services needs to update.

Step 2: Start JAEGER Server & UI for Testing

We can use docker to start jaeger sever & UI .

Once the jaeger UI started you can access in here.

Then we can trace the API request in the UI.

jaeger ui

As example this is the one request show in the jaeger UI. API execution time is 2.11s. There are two module which have records in that request.

And when we click the request it shows each module API execution time. From my example Payment gateway is the one took more execution time. It is 1.85s but actually third party connection which took 1.74s . This way we can identify the bottleneck in micro-services.

--

--

--

NFT is an Educational Media House. Our mission is to bring the invaluable knowledge and experiences of experts from all over the world to the novice. To know more about us, visit https://www.nerdfortech.org/.

Recommended from Medium

Install CHR di Proxmox

Copy text just by a mouse hover and click

Copy-text-in-a-click

What a year it has been…

New updates!

Agile: YES, We welcome change..

An Overview of Distribution Requirements Planning (DRP)

What is Distribution Requirements Planning (DRP)?

Introducing the Routinator 3000

Knative across multiple Kubernetes clusters with Liqo and Direktiv (part 2)

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Sajith vijesekara

Sajith vijesekara

Technical Lead. Passionate about cloud computing & web security | Freelance Mobile Developer | AWS Community Builder

More from Medium

Microservices #Circuit Breaker

Distributed Tracing in Microservices

Introduction to OpenAPI codegen - Simplify RESTful development

How to Create a REST API — Spring Boot and Ballerina