Maison  >  Article  >  développement back-end  >  installation de Golang GrPC

installation de Golang GrPC

WBOY
WBOYoriginal
2023-05-16 13:27:09806parcourir

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.

Étape 1 : Installer les tampons de protocole

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 :

Étape 1 : Obtenez les tampons de protocole depuis GitHub

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

Étape 2 : Installer les tampons de protocole

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 :

Homebrew

$ brew install protobuf

Linux

$ yum install protobuf

Deuxième étape : Installer gRPC

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.

Troisième étape : Utiliser gRPC

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.

Étape 1 : Créer un fichier .proto

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 ».

Étape 2 : Générer du code gRPC

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.

Étape 3 : Implémenter le service gRPC

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.

Étape 4 : Exécuter le service gRPC

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

Conclusion

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn