Golang ist eine sehr beliebte Programmiersprache, die für ihre hervorragende Parallelität und Leistung weithin bekannt ist. Mit dem Aufkommen von Cloud Computing und Microservices-Architektur ist gRPC in letzter Zeit in der Entwicklerwelt immer beliebter geworden. gRPC ist ein leistungsstarkes, universelles Open-Source-RPC-Framework, das von Google entwickelt und gefördert wird. Es unterstützt mehrere Sprachen und bietet eine starke Erweiterbarkeit, was es zu einem der bevorzugten Frameworks für die Erstellung verteilter Anwendungen macht. In diesem Artikel erfahren Sie, wie Sie gRPC in Golang installieren und schnell loslegen.
Um mit der Verwendung von gRPC zu beginnen, müssen Sie zunächst Protokollpuffer installieren. Protokollpuffer sind ein intuitives, strukturiertes Datenserialisierungsformat, mit dem Sie Daten problemlos zwischen verschiedenen Anwendungen übergeben und speichern können. Protokollpuffer unterstützen mehrere Programmiersprachen, darunter Java, C++ und Golang.
Um Protocol Buffers in Golang zu installieren, gehen Sie bitte wie folgt vor:
Protocol Buffers in Golang Das ist es über ein GitHub-Repository verteilt. Zuerst müssen Sie den Protocol Buffers-Quellcode von GitHub beziehen. Öffnen Sie ein Terminal und führen Sie den folgenden Befehl aus:
$ go get -u github.com/golang/protobuf/protoc-gen-go
Die Installation von Protokollpuffern erfordert eine Paketverwaltung wie Homebrew oder einen großen Linux-Paketmanager (z. B lecker) Gerät. Öffnen Sie ein Terminal und führen Sie den folgenden Befehl aus:
$ brew install protobuf
$ yum install protobuf
In der Installation After Protocol Buffers können Sie nun gRPC installieren. In Golang können Sie gRPC mit dem Befehl go get aus einem GitHub-Repository installieren. Öffnen Sie ein Terminal und führen Sie den folgenden Befehl aus:
$ go get -u google.golang.org/grpc
Dieser Befehl lädt das gRPC-Framework und die zugehörigen Abhängigkeiten herunter und installiert es.
Nachdem Sie die Installationsschritte von gRPC abgeschlossen haben, können Sie mit der Verwendung in Golang beginnen. Als Nächstes sehen wir uns ein einfaches Beispiel an, das Ihnen zeigt, wie Sie gRPC mit Golang verwenden.
In diesem Beispiel erstellen wir eine .proto-Datei mit dem Namen „hello.proto“, die einen einfachen gRPC-Dienstendpunkt enthält :
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); }
In dieser .proto-Datei definieren wir einen gRPC-Dienst namens „Hello“, der eine Methode namens „SayHello“ enthält. Diese Methode empfängt eine Nachricht vom Typ „HelloRequest“ vom Client und gibt eine Antwort vom Typ „HelloResponse“ zurück.
Nachdem Sie die .proto-Datei erstellt haben, müssen Sie den Protocol Buffers-Compiler verwenden, um Golang-Code zu generieren. Öffnen Sie dazu ein Terminal und führen Sie den folgenden Befehl aus:
$ protoc --go_out=plugins=grpc:. hello.proto
Dieser Befehl generiert eine Datei mit dem Namen „hello.pb.go“, die die Nachricht und den Golang-Code für den Dienst enthält.
Da Sie nun den gRPC-Code von Golang generiert haben, können Sie mit der Implementierung Ihres gRPC-Dienstes beginnen. Das Folgende ist ein einfaches Beispiel:
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) } }
In diesem Beispiel definieren wir zunächst eine „Server“-Struktur und fügen ihr eine Methode namens „SayHello“ hinzu. Diese Methode empfängt die vom Client gesendete „HelloRequest“-Nachricht und gibt eine „HelloResponse“-Nachricht zurück. Schließlich stellen wir auch eine Funktion namens „main“ bereit, die den gRPC-Dienst startet und Portnummer 50051 überwacht.
Da Sie nun die Implementierung des gRPC-Dienstes abgeschlossen haben, können Sie den Dienst im Terminal starten:
$ go run main.go
Das obige ist der detaillierte Inhalt vonGolang GRPC-Installation. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!