golang に gRPC をインストールする方法
近年、クラウド コンピューティングとビッグ データの急速な発展に伴い、マイクロサービス アーキテクチャを使用してアプリケーションを構築する企業が増えています。 gRPC は、マイクロサービス間の通信に広く使用されている効率的で最新の RPC フレームワークです。この記事では、この通信フレームワークをより便利に利用できるように、golang に gRPC をインストールする方法を紹介します。
- まず、golang 環境をインストールする必要があります。公式 Web サイト https://golang.org/dl/ から、お使いのオペレーティング システムに適したインストール パッケージをダウンロードできます。インストールが完了したら、次のコマンドを使用して、インストールが成功したかどうかを確認します。 #
go version
ログイン後にコピー バージョン情報「go version go1.14.4 darwin/amd64」のような応答が表示された場合は、インストールが成功したことを示します。
go mod init example.com/hello go get google.golang.org/grpc
ログイン後にコピー このうち、「example.com/hello」は一例ですので、任意の名前に置き換えてください。
$ touch greeter.proto $ protoc --go_out=. --go-grpc_out=. greeter.proto
ログイン後にコピーgRPC サービスの定義を記述するために、greeter.proto ファイルを作成します。 :
syntax = "proto3"; package helloworld; // 定义服务接口 service Greeter { rpc SayHello (HelloRequest) returns (HelloReply) {} } // 定义请求和响应结构体 message HelloRequest { string name = 1; } message HelloReply { string message = 1; }
protoc ファイルをコンパイルし、対応するgreeter.pb.go およびgreeter.grpc.go サービス ファイルを生成します。 protoc でコンパイルする場合、対応する pb ファイルと grpc ファイルを生成するために 2 つのパラメーター --go_out と --go-grpc_out を追加したことに注意してください。
gRPC クライアントを作成します。次に、定義したサービスを呼び出すクライアント コードを記述する必要があります。プロジェクトにgreetercli.goファイルを作成し、次のコードを記述します。package main import ( "context" "log" "google.golang.org/grpc" pb "example.com/hello" // 这里是我们定义的服务包名 ) const ( address = "localhost:50051" // 服务端地址 defaultName = "world" ) func main() { // 和服务端建立连接 conn, err := grpc.Dial(address, grpc.WithInsecure()) if err != nil { log.Fatalf("did not connect: %v", err) } defer conn.Close() // 创建客户端 c := pb.NewGreeterClient(conn) // 调用服务方法 name := defaultName if len(os.Args) > 1 { name = os.Args[1] } r, err := c.SayHello(context.Background(), &pb.HelloRequest{Name: name} if err != nil { log.Fatalf("could not greet: %v", err) } log.Printf("Greeting: %s", r.Message) }
ログイン後にコピー コードのコメントですでに明確に説明しているため、ここでは繰り返しません。
- サーバーとクライアントのコードが完成したので、サービスを実行して見てみましょう。
greetercli.go と同じディレクトリで次のコマンドを実行します。
$ go run greetersrv.go
出力がない場合は、gRPC サービスがローカルで正常に開始されたことを意味します。次に、新しいターミナル ウィンドウでクライアントを実行します。
$ go run greetercli.go Greeting: Hello world
ここでの出力結果は、定義した入力パラメータに従って調整できます。
これまで、この記事の内容は基本的に golang に gRPC をインストールするプロセス全体をカバーしてきたので、読者の役に立つことを願っています。もちろん、gRPC サービスを深く研究するには、さらに詳細と仕様を習得し、知識システムを継続的に改善および拡張する必要があります。
以上がgolang に gRPC をインストールする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









OpenSSLは、安全な通信で広く使用されているオープンソースライブラリとして、暗号化アルゴリズム、キー、証明書管理機能を提供します。ただし、その歴史的バージョンにはいくつかの既知のセキュリティの脆弱性があり、その一部は非常に有害です。この記事では、Debian SystemsのOpenSSLの共通の脆弱性と対応測定に焦点を当てます。 Debianopensslの既知の脆弱性:OpenSSLは、次のようないくつかの深刻な脆弱性を経験しています。攻撃者は、この脆弱性を、暗号化キーなどを含む、サーバー上の不正な読み取りの敏感な情報に使用できます。

この記事では、プロファイリングの有効化、データの収集、CPUやメモリの問題などの一般的なボトルネックの識別など、GOパフォーマンスを分析するためにPPROFツールを使用する方法について説明します。

この記事では、GOでユニットテストを書くことで、ベストプラクティス、モッキングテクニック、効率的なテスト管理のためのツールについて説明します。

Go Crawler Collyのキュースレッドの問題は、Go言語でColly Crawler Libraryを使用する問題を調査します。 �...

バックエンド学習パス:フロントエンドからバックエンドへの探査の旅は、フロントエンド開発から変わるバックエンド初心者として、すでにNodeJSの基盤を持っています...

Beegoormフレームワークでは、モデルに関連付けられているデータベースを指定する方法は?多くのBEEGOプロジェクトでは、複数のデータベースを同時に操作する必要があります。 Beegoを使用する場合...

この記事では、go.modを介してGOモジュールの依存関係の管理、仕様、更新、競合解決をカバーすることについて説明します。セマンティックバージョンや定期的な更新などのベストプラクティスを強調しています。
