Este é o código inicial do curso "Microservices with Go", onde construímos o backend de um aplicativo estilo Uber, usando Go, Docker e Kubernetes.
No final do projeto, teremos um sistema de ride-sharing completo, com vários microsserviços rodando em containers e orquestrados no Kubernetes, pronto para escalar horizontalmente e receber tráfego real.
A ideia do projeto é desenvolver passo a passo os serviços que compõem um app de transporte (tipo Uber). Durante o curso, vamos aprender a criar e rodar tudo localmente com Docker e Kubernetes.
Antes de começar, é preciso ter instalado:
- Docker
- Go
- Tilt (para rodar o ambiente local)
- Kubernetes (Via Minikube)
-
Instale o Homebrew https://brew.sh/
-
Instale o Docker Desktop https://www.docker.com/products/docker-desktop/
-
Instale o Minikube https://minikube.sigs.k8s.io/docs/
-
Instale o Tilt https://tilt.dev/
-
Instale o Go com o Homebrew:
brew install go
-
Instale o kubectl: https://kubernetes.io/docs/tasks/tools/install-kubectl-macos/
-
Instale o WSL:
https://learn.microsoft.com/en-us/windows/wsl/install -
Instale o Docker Desktop
https://www.docker.com/products/docker-desktop/ -
Instale o Minikube
https://minikube.sigs.k8s.io/docs/ -
Instale o Tilt
https://tilt.dev/ -
Instale o Go dentro do WSL:
# Baixar o binário wget https://dl.google.com/go/go1.23.0.linux-amd64.tar.gz # Extrair o arquivo sudo tar -xvf go1.23.0.linux-amd64.tar.gz # Mover para /usr/local sudo mv go /usr/local # Adicionar o Go ao PATH echo 'export GOROOT=/usr/local/go' >> ~/.bashrc echo 'export GOPATH=$HOME/go' >> ~/.bashrc echo 'export PATH=$GOPATH/bin:$GOROOT/bin:$PATH' >> ~/.bashrc source ~/.bashrc # Verificar instalação go version
-
Instale o kubectl:
https://kubernetes.io/docs/tasks/tools/install-kubectl-macos/
Depois de tudo instalado e configurado, você pode iniciar o ambiente de desenvolvimento com:
tilt upIsso vai construir os containers e iniciar os serviços dentro do seu cluster local do Kubernetes.
Para ver se os pods estão rodando corretamente:
kubectl get pods