Sobes.tech
Junior — Middle

Descreva o processo de coleta e configuração do serviço gRPC para testes manuais ou desenvolvimento

sobes.tech IA

Resposta da IA

Para testes manuais ou desenvolvimento de um serviço gRPC em Go, geralmente seguem-se os seguintes passos:

  1. Definição do protocolo — escreve-se um arquivo .proto com a descrição dos serviços e mensagens.

  2. Geração de código — usando protoc e o plugin protoc-gen-go, gera-se código em Go para a parte do servidor e do cliente:

protoc --go_out=. --go-grpc_out=. service.proto
  1. Implementação do servidor — cria-se uma estrutura que implemente as interfaces geradas do serviço.

  2. Configuração do servidor — configura-se a porta, middleware (registo, autenticação) se necessário.

  3. Início do servidor — inicia-se o servidor num processo separado ou em segundo plano.

  4. Testes manuais:

    • Utilizam-se grpcurl ou evans para chamar os métodos do serviço a partir da linha de comandos.
    • Escreve-se um cliente simples em Go ou outra linguagem para verificar.

Exemplo de início do servidor:

lis, err := net.Listen("tcp", ":50051")
if err != nil {
    log.Fatalf("falha ao ouvir: %v", err)
}
s := grpc.NewServer()
pb.RegisterYourServiceServer(s, &server{})
if err := s.Serve(lis); err != nil {
    log.Fatalf("falha ao servir: %v", err)
}

Para desenvolvimento, é conveniente usar recarga quente e registro para um ciclo de testes rápido.