Grpc-Golang&Grpc-Java
2553 ワード
このノートは主に学習過程を記録してどのように使うのではありません~、およびprotobuffersとgprcの各種のドキュメントの住所、上半期を過ぎた後にこのノートを通じて自分で急速にこの技術点を再掌握することを助けます
一、Protocolbuffers
protocolbuffersについてもともと1篇のノートの品質を書いたことがあって悪くなくて、本編のノートは繰り返し書きません:クリックして見ます
以下に、protocbuffersがmacに取り付けたときに踏んだ穴を記録します.
公式サイト:https://developers.google.com/protocol-buffers
protocダウンロードアドレス:https://github.com/protocolbuffers/protobuf/releases
自分が何をしているのかを明らかにする~protobufをプロトコルと理解することができます.彼の文法規範に従ってxxx.protoファイルを書いた後、protocを使ってやっとそれをコンパイルして特定の言語のコードを生成することができます~だからこのprotocはきっとインストールを免れられません
ダウンロードして使いやすいように~/.bash_profileにPATHを追加
しかし、変数を~/.bash_に配置することに気づきました.profileでは常にセッションレベルなので、ウィンドウを変えると役に立ちません.
だから~/.zshrcを使って配置することをお勧めします.ない場合は、手動で新規作成しても構いません.
上のprotocはほとんどの言語のコードを生成することができます.特定の言語に対するコードを生成したい場合は、このリンクをクリックします.https://github.com/protocolbuffers/protobuf/releases
二、Grpc公式サイト:https://www.grpc.io/ grpcの概要:https://www.grpc.io/docs/what-is-grpc/introduction/ grpcの核心概念:https://www.grpc.io/docs/what-is-grpc/core-concepts/ quick-start:https://www.grpc.io/docs/languages/java/quickstart/
2.1 About-Java githubアドレス(jarパッケージとコード生成のプラグインを見つけることができます):https://github.com/grpc/ コマンド: 生成コードをmavenコンパイルする前提:作成した に配置する必要がある.コンパイル処理された生成物は、 に位置する.
GrpcServerとGrpcStubの間でどのような方法でデータを対話できますか? インタラクティブオブジェクト情報 stubはobjを送信し、serverはstream を返す. stubはstreamを送信し、serverはobj を返す. stubとserverの間でstreamインタラクション
JavaがGrpcを使用する例を次に示します.
proto定義:https://github.com/zhuchangwu/oa-springboot/tree/master/src/protobuf
テストコード:https://github.com/zhuchangwu/oa-springboot/tree/master/src/test/java/com/changwu/flowCenterTest
2.2 About-Golang
まず
クイックスタート:grpc公式サイト(demoとxxx.protoをgoコードにコンパイルするコマンドが入っています)を参照https://www.grpc.io/docs/languages/go/quickstart/
golangを使用してclientとserver間の4つの通信モードを完了します.https://github.com/zhuchangwu/oa-golang-flow-center/commits/master
一、Protocolbuffers
protocolbuffersについてもともと1篇のノートの品質を書いたことがあって悪くなくて、本編のノートは繰り返し書きません:クリックして見ます
以下に、protocbuffersがmacに取り付けたときに踏んだ穴を記録します.
公式サイト:https://developers.google.com/protocol-buffers
protocダウンロードアドレス:https://github.com/protocolbuffers/protobuf/releases
自分が何をしているのかを明らかにする~protobufをプロトコルと理解することができます.彼の文法規範に従ってxxx.protoファイルを書いた後、protocを使ってやっとそれをコンパイルして特定の言語のコードを生成することができます~だからこのprotocはきっとインストールを免れられません
ダウンロードして使いやすいように~/.bash_profileにPATHを追加
vim ~/.bash_profile
# :
export PATH:/Users/dxm/protobuf/protoc-3.12.2-osx-x86_64/bin/protoc
#
source .bash_profile
# protoc
which protoc
/Users/dxm/protobuf/protoc-3.12.2-osx-x86_64/bin/protoc
しかし、変数を~/.bash_に配置することに気づきました.profileでは常にセッションレベルなので、ウィンドウを変えると役に立ちません.
だから~/.zshrcを使って配置することをお勧めします.ない場合は、手動で新規作成しても構いません.
上のprotocはほとんどの言語のコードを生成することができます.特定の言語に対するコードを生成したい場合は、このリンクをクリックします.https://github.com/protocolbuffers/protobuf/releases
二、Grpc
2.1 About-Java
mvn compile
でコンパイルxxx.proto
ファイルを/src/main/
ディレクトリの下target/generated-sources/
JavaがGrpcを使用する例を次に示します.
proto定義:https://github.com/zhuchangwu/oa-springboot/tree/master/src/protobuf
テストコード:https://github.com/zhuchangwu/oa-springboot/tree/master/src/test/java/com/changwu/flowCenterTest
2.2 About-Golang
まず
xxx.proto
ファイルを作成しますxxx.protof
をGOにコンパイルできるプラグインのダウンロードを実行します.# protoc-gen-go /go/bin/
go get github.com/golang/protobuf/protoc-gen-go
クイックスタート:grpc公式サイト(demoとxxx.protoをgoコードにコンパイルするコマンドが入っています)を参照https://www.grpc.io/docs/languages/go/quickstart/
golangを使用してclientとserver間の4つの通信モードを完了します.https://github.com/zhuchangwu/oa-golang-flow-center/commits/master