ホームページ  >  記事  >  バックエンド開発  >  golang grpcのインストール

golang grpcのインストール

WBOY
WBOYオリジナル
2023-05-16 13:27:09844ブラウズ

Golang は、その優れた同時実行性とパフォーマンスで広く知られている非常に人気のあるプログラミング言語です。最近、クラウド コンピューティングとマイクロサービス アーキテクチャの台頭により、開発者の世界では gRPC の人気が高まっています。 gRPC は、Google によって開発および推進されている、高性能のオープンソースの汎用 RPC フレームワークです。複数の言語をサポートし、強力な拡張性を備えているため、分散アプリケーションを構築するための好ましいフレームワークの 1 つとなっています。この記事では、Golang に gRPC をインストールし、すぐに使い始める方法を説明します。

ステップ 1: プロトコル バッファーのインストール

gRPC の使用を開始するには、まずプロトコル バッファーをインストールする必要があります。プロトコル バッファーは、異なるアプリケーション間でデータを簡単に受け渡し、保存できるようにする直観的な構造化データのシリアル化形式です。プロトコル バッファーは、Java、C、Golang などの複数のプログラミング言語をサポートします。

Golang にプロトコル バッファーをインストールするには、次の手順を実行してください:

ステップ 1: GitHub からプロトコル バッファーを取得する

Golang のプロトコル バッファーは、GitHub リポジトリを通じて配布されます。まず、GitHub からプロトコル バッファーのソース コードを取得する必要があります。ターミナルを開いて次のコマンドを実行します。

$ go get -u github.com/golang/protobuf/protoc-gen-go

ステップ 2: プロトコル バッファーをインストールする

プロトコル バッファーをインストールするには、Homebrew などのパッケージ マネージャー、または大規模な Linux パッケージ マネージャー (たとえば、うーん)。ターミナルを開いて次のコマンドを実行します。

Homebrew

$ brew install protobuf

Linux

$ yum install protobuf

ステップ 2: gRPC

プロトコル バッファーをインストールした後、次のことが可能になります。 gRPCをインストールします。 Golang では、 go get コマンドを使用して GitHub リポジトリから gRPC をインストールできます。ターミナルを開き、次のコマンドを実行します。

$ go get -u google.golang.org/grpc

このコマンドは、gRPC フレームワークとその関連依存関係をダウンロードしてインストールします。

ステップ 3: gRPC の使用

gRPC のインストール手順が完了したので、Golang での使用を開始できます。次に、Golang で gRPC を使用する方法を示す簡単な例を見ていきます。

ステップ 1: .proto ファイルを作成する

この例では、単純な gRPC サービス エンドポイントを含む「hello.proto」という名前の .proto ファイルを作成します。

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);
}

この .proto ファイルでは、「SayHello」という名前のメソッドを含む「Hello」という名前の gRPC サービスを定義します。このメソッドは、クライアントから「HelloRequest」タイプのメッセージを受信し、「HelloResponse」タイプの応答を返します。

ステップ 2: gRPC コードを生成する

.proto ファイルを作成した後、プロトコル バッファー コンパイラーを使用して Golang コードを生成する必要があります。これを行うには、ターミナルを開いて次のコマンドを実行します。

$ protoc --go_out=plugins=grpc:. hello.proto

このコマンドは、.proto ファイルの Golang コードで定義したメッセージとサービスを含む「hello.pb.go」という名前のファイルを生成します。

ステップ 3: gRPC サービスを実装する

Golang の gRPC コードを生成したので、gRPC サービスの実装を開始できます。以下は簡単な例です:

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)
    }
}

この例では、最初に「サーバー」構造を定義し、それに「SayHello」という名前のメソッドを追加します。このメソッドは、クライアントから送信された「HelloRequest」メッセージを受信し、「HelloResponse」メッセージを返します。最後に、gRPC サービスを開始してポート番号 50051 をリッスンする「main」と呼ばれる関数も提供します。

ステップ 4: gRPC サービスを実行する

gRPC サービスの実装が完了したので、ターミナルでサービスを開始できます:

$ go run main.go

結論

gRPC は、広く使用されているオープンソースの汎用 RPC フレームワークです。 Golang では、いくつかの簡単な手順で gRPC をインストールして使用できるため、分散アプリケーションの構築が容易になります。この記事が gRPC の使用を開始するのに役立ち、効率的でスケーラブルで信頼性の高い分散サービスを構築できるようになることを願っています。

以上がgolang grpcのインストールの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。