Junior — Middle
Popíšte proces zberu a nastavenia služby gRPC pre manuálne testy alebo vývoj
sobes.tech AI
Odpoveď od AI
Pre manuálneho testovania alebo vývoja gRPC služby v Go sa zvyčajne postupuje podľa nasledujúcich krokov:
-
Definícia protokolu — napíše sa
.protosúbor s popisom služieb a správ. -
Generovanie kódu — pomocou
protoca pluginuprotoc-gen-gosa vygeneruje Go kód pre serverovú a klientsku časť:
protoc --go_out=. --go-grpc_out=. service.proto
-
Implementácia servera — vytvorí sa štruktúra, ktorá implementuje vygenerované rozhrania služby.
-
Nastavenie servera — nakonfiguruje sa port, middleware (logovanie, autentifikácia) podľa potreby.
-
Spustenie servera — server sa spustí v samostatnom procese alebo na pozadí.
-
Manuálne testovanie:
- Používajú sa
grpcurlaleboevansna volanie metód služby z príkazového riadku. - Napíše sa jednoduchý klient v Go alebo inom jazyku na overenie.
- Používajú sa
Príklad spustenia servera:
lis, err := net.Listen("tcp", ":50051")
if err != nil {
log.Fatalf("Chyba pri počúvaní: %v", err)
}
s := grpc.NewServer()
pb.RegisterYourServiceServer(s, &server{})
if err := s.Serve(lis); err != nil {
log.Fatalf("Chyba pri obsluhe: %v", err)
}
Pre vývoj je vhodné používať horúce načítanie a logovanie pre rýchle testovacie cykly.