Tracing requests inside microservices

Inside any application, a request may flow through several components before a final response for the request is generated. All of these components may do some processing that might be required on the process before they hand the request off to another component.

The tracing of a request allows us to visualize a rich amount of detail about the flow of a particular request. With the complete picture of the flow of the request, we can now work on finding out the places that may be causing a bottleneck in the performance of the request-response cycle, or figure out the components that may be causing the generation of an incorrect result.

Today, in the application development world, any serious application that runs on a large scale has one or another kind of tracing solution implemented into it so as to trace the flow of the requests inside the application. Currently, there are a huge number of tools and services that allow for enabling tracing inside the application.

For the purpose of this chapter, we are going to utilize one of the tracing tools that is available in the open source community, which adheres to the OpenTracing standard, allowing us to trace the flow of the requests in our microservices. This tool, known as Jaeger, provides a complete framework for the end-to-end distributed tracing of a request inside an application. But what exactly is OpenTracing? Let's take a look.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.118.12.232