Skip to content

Latest commit

 

History

History
65 lines (48 loc) · 1.72 KB

README.md

File metadata and controls

65 lines (48 loc) · 1.72 KB

A full flegde example for Distributed Tracing

This Repository contains two micro-services in which tracing agent is integrated. I am using ZipKin, a Open Source tracer for demonstration.

Prerequisites

1. GO 1.13+
2. Docker

Services -

  1. Employee Service - This is a demo service performs CRUD operation for employee.
  2. Auth Service - This service creates and checks Auth for employee service APIs.

Employee flows



In both of the flows employee service interacts with auth service using REST APIs.

Demo

Perform below actions to run this demo -

docker run -d -p 9411:9411 openzipkin/zipkin 
cd auth
go run main.go
cd ..
cd employee
go run main.go

Blow are the cURL to perform employee action

1. Employee Registration

Request -

curl --location --request POST 'localhost:8080/employee' \
--header 'Content-Type: application/json' \
--data-raw '{
    "name":"<your name>"
}'

Response -

{
"id": "<Employee Id>"
}

2. Get Employee details

Request -

curl --location --request GET 'localhost:8080/employee?id=<Employee Id>' \
--header 'Authorization: <Employee Id>' \
--header 'Content-Type: application/json'

Response -

{
    "employee": {
        "id": "<Employee Id>",
        "name": "your name"
    }
}

3. Open ZipKin dashboard using below URL to see trace generated

http:https://localhost:9411/zipkin