使用依賴:
gRPC(https://github.com/grpc/grpc)
grpc-spring-boot-starter( https://github.com/yidongnan/grpc-spring-boot-starter) 框架
gRPC的基本說明:
gRPC一款語言中立、平台中立、開源的遠程過程調用(RPC)系統。
gRPC能夠做到語言中立的原因在於,可以通過gRPC提供的編譯器編譯統一的proto files 文件創建gRPC服務,用protocol buffers 消息類型來定義方法和返回類型。
而服務端和客戶端要調用gRPC服務,就需要這些編譯成Java 或其他語言的文件。
gRPC的基本框架:
grpclib:
grpclib模塊作為gRPC項目公用模塊,可以直接作為一個包,被其他使用gRPC的模塊引用,此包可以直接用,作為模塊添加到整個工程中即可。
pom 配置主要包括 gRPC包以及編譯proto 文件的插件
server:
pom配置如下:
yml文件配置如下:
client:
pom配置如下:
yml文件配置如下:
需要調用幾個服務就可以配置幾個服務
gRPC使用指南:
1. 編寫proto文件
具體相關內容大家可以參考:https://blog.csdn.net/u011518120/article/details/54604615
其中提到 map 與list等比較復雜的結構如何定義。
2. 編譯proto文件
編譯過程如圖:
最終生成的文件在target的protobuf文件夾中,需要移動到src/main/java 底下對應的package中
3. server端代碼編寫
啟動服務時,可以看到服務注入:
4. client端代碼編寫
這樣就可以了