3 回答

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超8個(gè)贊
Twirp 和 gRPC 網(wǎng)關(guān)類似。他們都從 protobuf 文件定義中構(gòu)建 API 服務(wù)。
主要區(qū)別:
gRPC 僅在 HTTP2 上使用 protobuf,這意味著瀏覽器無法輕松地直接與基于 gRPC 的服務(wù)通信。
Twirp 在 Protobuf 和 JSON、HTTP 1.1 和 HTTP2 上工作,因此任何客戶端都可以輕松通信。
gRPC 是一個(gè)具有許多功能的完整框架。很強(qiáng)大的東西。
Twirp 很小很小。只有一些基本功能,但它更容易管理。

TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超21個(gè)贊
要使用 Go RPC 的 RPC 框架生成 RPC 腳手架,我們可以從一開始就考慮 gRPC 或?qū)ふ腋?jiǎn)單的 Twitch RPC,即Twirp。
選擇 Twirp 而不是 gRPC 的常見原因如下:
Twirp 帶有 HTTP 1.1 支持。
Twirp 支持 JSON 傳輸。
gRPC 在 net/http 之外重新實(shí)現(xiàn)了 HTTP/2。
gRPC over Twirp 的原因是:
gRPC 支持流式傳輸。
gRPC 做出了電線兼容性承諾。
網(wǎng)絡(luò)級(jí)別的更多功能。

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個(gè)贊
除了二進(jìn)制 Protobuf 編解碼器之外,Twirp 還支持 JSON 編碼的請(qǐng)求和響應(yīng),但它仍然充當(dāng) RPC。POST
您可以在端點(diǎn)上使用 HTTP ,例如/twirp/MyService/SayHello
使用 JSON 有效負(fù)載并接收 JSON 響應(yīng)。除了可選的 JSON 之外,與標(biāo)準(zhǔn) gRPC 非常相似。
對(duì)于 gRPC 網(wǎng)關(guān),它有點(diǎn)不同。在這里,您可以在現(xiàn)有 gRPC 服務(wù)上配置任何 HTTP REST 端點(diǎn)。例如,MySevice.SayHello
可以映射到GET /hello
. 這使得在 gRPC 定義之上實(shí)現(xiàn)完整的 REST 服務(wù)變得非常容易。
希望這能澄清一下。
- 3 回答
- 0 關(guān)注
- 169 瀏覽
添加回答
舉報(bào)