📚 Pré-requisitos Teóricos: este projeto aplica conceitos ensinados em Especialização em Backend com Golang e Gin. Recomendado revisar antes de começar.

🐹 Arquitetura Orientada a Eventos com Go, Kafka & OpenTelemetry

v1.0 — Engenharia de Software & Práticas Profissionais

Trilha de Especialização Pedagógica

—`

🎯 Objetivo & Escopo do Projeto

Arquitetura de microsserviços desacoplada com Apache Kafka, Transactional Outbox Pattern, idempotência de eventos e tracing distribuído com OpenTelemetry e Jaeger.

—`

🛠️ Código de Exemplo da Implementação

package main

import "fmt"

type EventoPedidoCriado struct {
\PedidoID string  `json:"pedido_id"`
\Cliente  string  `json:"cliente"`
\Total    float64 `json:"total"`
}

func main() {
\fmt.Println("=== Event-Driven Architecture com Go & Apache Kafka ===")
\evento := EventoPedidoCriado{PedidoID: "PED-9901", Cliente: "Empresa XPTO", Total: 4500.00}
\fmt.Printf("Publicando evento no Kafka Topic [pedidos.v1]: %+v\n", evento)
\fmt.Println("Tracing OpenTelemetry: TraceID=4bf92f3577b34da6a3ce929d0e0e4736")
}

—`

🚀 Como Executar no Laboratório

1. Abra o terminal na pasta deste projeto

No seu editor/IDE, abra a pasta deste projeto (File > Open Folder) ou navegue via terminal:

cd backend_golang_04_eventdriven_kafka

2. Execute a aplicação e os testes

go mod tidy
go run main.go
go test ./...

[!TIP] Dica para execução a partir da raiz do repositório: Se você abriu o repositório completo no VS Code, basta navegar até a pasta antes de executar: cd proj_aplicacoes_full_stack/projetos/backend_golang_04_eventdriven_kafka

⬅️ Ver Todos os Projetos no Super-Hub 🏠 Página Inicial do Portal