goexpert-weather-api-otel
Projeto do Laboratório "Tracing distribuído e span" do treinamento GoExpert(FullCycle).
O desafio
Desenvolver um sistema em Go que receba um CEP, identifica a cidade e retorna o clima atual (temperatura em graus celsius, fahrenheit e kelvin) juntamente com a cidade. Esse sistema deverá implementar OTEL(Open Telemetry) e Zipkin.
Basedo no cenário conhecido "Sistema de temperatura por CEP" denominado Serviço B, será incluso um novo projeto, denominado Serviço A.
Como rodar o projeto: manual
#
#
cp .env.example .env
#
#
#
#
#
#
#
docker-compose down
#
docker image rm -f aleroxac/input-api:v1
docker image rm -f aleroxac/orchestrator-api:v1
#
docker-compose up -d
#
echo -e -----------------" input-api -----------------"
echo -n "200: "; curl -s "http://localhost:8080/cep" -d '{"cep": "13330250"}'
#
#
Como rodar o projeto: make
#
#
cp .env.example .env
#
#
#
#
#
#
#
make down
#
make clean
#
make up
#
make call-input-api
#
#
Funcionalidades da Linguagem Utilizadas
- configs: spf13/viper
- graceful-shutdown: os/signal
- tests: stretchr/testify
- web-framework: go-chi
- tracing: opentelemetry
- metrics: prometheus
Requisitos - Serviço A (responsável pelo input):
Requisitos - Serviço B (responsável pela orquestração):
Requisitos - Entrega
Traces: Zipkin
Referências