簡體   English   中英

Java GRPC ServerBuilder vs NettyServerBuilder

[英]Java GRPC ServerBuilder vs NettyServerBuilder

有人能告訴我 ServerBuilder 和 NettyServerBuilder 有什么區別嗎? 最新的說明

幫助簡化基於 Netty 的 GRPC 服務器構建的構建器。

兩者都服務於 http2/grpc。 兩者都可以提供 GRPC 服務。 這是否意味着第二個(Netty)在協議/傳輸級別上比前一個擁有更多的控制權?

ServerBuilder是一個抽象的 class 並且不能直接使用,而NettyServerBuilder是一個具體的 class (使用forPortforAddress實例化)。

gRPC-java 帶有各種傳輸實現(參見gRPC 傳輸),而 Netty 是主要的傳輸實現。

ServerBuilder是一個具有穩定 API 的通用構建器。 一般推薦。

NettyServerBuilder特定於 Netty 傳輸並具有更高級的選項。 但是,它是不穩定的 API。 任何特定於 Netty 的方法都可能隨時更改,盡管實際上它相對穩定,因為 gRPC 開發人員意識到它被廣泛使用。 但破損可能來自其他來源。 For example, if gRPC upgraded from Netty 4 to Netty 5 (which doesn't exist yet, but is being worked on), gRPC might delete the entire io.grpc.netty.NettyServerBuilder class and add a new io.grpc.netty5.NettyServerBuilder class。 gRPC 甚至可以選擇完全放棄 Netty 並使用 SomeOtherNetworkingLibrary。

庫絕不能使用不穩定的 API,因為它們不控制正在使用的 gRPC 的版本。 應用程序可以使用不穩定的 API,但應注意 API 無法得到保證,他們可能需要在未來支付額外費用以保持最新狀態。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM