Microservice avec Go et gRPC

Microservice avec Go et gRPC


gRPC client avec prototool

Nous allons commencer par tester notre service avec prototool. Prototool va permettre de transformer un json en protobuf et d'appeler le serveur gRPC.

Nous allons créer un fichier payload.json.

{ "text": "Salut les astronautes !", "language": "en" }

Nous allons maintenant appeler notre serveur gRPC.

cat payload.json | prototool grpc proto/translator.proto 0.0.0.0:4000 proto.Translator/Translate -

gRPC client avec Go

Nous allons créer un simple fichier client.go pour appeler le serveur gRPC avec le code qui a été généré.

// client.go package main import ( "context" "log" "google.golang.org/grpc" "translator-service/proto" ) func main() { conn, err := grpc.Dial("localhost:4000", grpc.WithInsecure()) if err != nil { log.Fatalln(err) } defer conn.Close() client := proto.NewTranslatorClient(conn) res, err := client.Translate( context.Background(), &proto.TranslateRequest{Text:"Salut les astronautes !", Language: proto.Language_en}, ) if err != nil { log.Fatalln(err) } log.Println(res.Text) }

Nous allons maintenant appeler notre serveur gRPC avec notre client en Go.

go run client.go

Auteur(s)

Quentin Neyrat

Quentin Neyrat

Back-end developer @ Eleven Labs

Voir le profil

Vous souhaitez en savoir plus sur le sujet ?
Organisons un échange !

Notre équipe d'experts répond à toutes vos questions.

Nous contacter

Découvrez nos autres contenus dans le même thème

Construction d'une plateforme Data, retour d'expérience (REX)

Construction d'une plateforme Data, retour d'expérience (REX)

Les besoins en analyse de données sont grandissants. Avec quelques outils, il est possible de faire des extractions, de la transformation et de la visualisation très rapidement. Cependant, pour assurer la pérénnité et l'évolutivité de ces analyses, il est nécessaire de monter une plateforme dédiée et d'industrialiser les différents processus. C'est le sujet de cet article.