Golang est un langage de programmation très populaire qui est largement apprécié pour son excellente concurrence et ses performances. Récemment, gRPC est devenu de plus en plus populaire dans le monde des développeurs avec l'essor du cloud computing et de l'architecture de microservices. gRPC est un framework RPC open source hautes performances à usage général développé et promu par Google. Il prend en charge plusieurs langages et offre une forte extensibilité, ce qui en fait l'un des frameworks préférés pour la création d'applications distribuées. Cet article vous montrera comment installer gRPC dans Golang et démarrer rapidement.
Pour commencer à utiliser gRPC, vous devez d'abord installer les tampons de protocole. Les tampons de protocole sont un format de sérialisation de données structuré et intuitif qui vous permet de transmettre et de stocker facilement des données entre différentes applications. Les tampons de protocole prennent en charge plusieurs langages de programmation, notamment Java, C++ et Golang.
Pour installer les tampons de protocole dans Golang, veuillez procéder comme suit :
Les tampons de protocole dans Golang sont distribués via le référentiel GitHub. Tout d’abord, vous devez obtenir le code source des Protocol Buffers sur GitHub. Ouvrez un terminal et exécutez la commande suivante :
$ go get -u github.com/golang/protobuf/protoc-gen-go
L'installation des tampons de protocole nécessite l'utilisation d'un gestionnaire de packages tel que Homebrew ou d'un grand gestionnaire de packages Linux tel que yum. Ouvrez un terminal et exécutez la commande suivante :
$ brew install protobuf
$ yum install protobuf
Après avoir installé les tampons de protocole, vous pouvez maintenant installer gRPC. Dans Golang, vous pouvez installer gRPC à partir d'un référentiel GitHub à l'aide de la commande go get. Ouvrez un terminal et exécutez la commande suivante :
$ go get -u google.golang.org/grpc
Cette commande téléchargera et installera le framework gRPC et ses dépendances associées.
Maintenant que vous avez terminé les étapes d'installation de gRPC, vous pouvez commencer à l'utiliser dans Golang. Ensuite, nous examinerons un exemple simple pour vous montrer comment utiliser gRPC avec Golang.
Dans cet exemple, nous allons créer un fichier .proto nommé "hello.proto", qui contient un simple point de terminaison de service gRPC :
syntax = "proto3"; package hello; // 定义HelloRequest消息 message HelloRequest { string name = 1; } // 定义HelloResponse消息 message HelloResponse { string message = 1; } // 定义Hello服务 service Hello { // 定义SayHello方法 rpc SayHello (HelloRequest) returns (HelloResponse); }
Dans ce .proto Dans le fichier, nous définissez un service gRPC nommé « Hello », qui contient une méthode nommée « SayHello ». Cette méthode reçoit un message de type « HelloRequest » du client et renvoie une réponse de type « HelloResponse ».
Après avoir créé le fichier .proto, vous devez utiliser le compilateur Protocol Buffers pour générer du code Golang. Pour ce faire, ouvrez un terminal et exécutez la commande suivante :
$ protoc --go_out=plugins=grpc:. hello.proto
Cette commande générera un fichier nommé "hello.pb.go" qui contient le code Golang pour les messages et services que vous avez définis dans le fichier .proto.
Maintenant que vous avez généré le code gRPC de Golang, vous pouvez commencer à implémenter votre service gRPC. Voici un exemple simple :
package main import ( "context" "log" "net" "google.golang.org/grpc" pb "path/to/hello.pb.go" ) type server struct{} func (s *server) SayHello(ctx context.Context, in *pb.HelloRequest) (*pb.HelloResponse, error) { log.Printf("Received: %v", in.GetName()) return &pb.HelloResponse{Message: "Hello " + in.GetName()}, nil } func main() { lis, err := net.Listen("tcp", ":50051") if err != nil { log.Fatalf("failed to listen: %v", err) } s := grpc.NewServer() pb.RegisterHelloServer(s, &server{}) if err := s.Serve(lis); err != nil { log.Fatalf("failed to serve: %v", err) } }
Dans cet exemple, nous définissons d'abord une structure "serveur" et y ajoutons une méthode nommée "SayHello". Cette méthode recevra le message "HelloRequest" envoyé par le client et renverra un message "HelloResponse". Enfin, nous fournissons également une fonction appelée « main » qui démarrera le service gRPC et écoutera sur le port numéro 50051.
Maintenant que vous avez terminé la mise en œuvre du service gRPC, vous pouvez démarrer le service dans le terminal :
$ go run main.go
gRPC est un framework RPC open source à usage général qui a gagné en popularité. Dans Golang, vous pouvez installer et utiliser gRPC en quelques étapes simples, ce qui facilite la création d'applications distribuées. Nous espérons que cet article vous aidera à démarrer avec gRPC et vous permettra de créer des services distribués efficaces, évolutifs et fiables.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!