Connect:一個更好的 gRPC
Connect 基於net/http,完全相容 gRPC(包括流式傳輸、預告片和錯誤詳細資訊),並且只是一個 Go 包。Connect 客戶端適用於任何 gRPC 伺服器,而 Connect 處理程式適用於任何 gRPC 客戶端。處理程式實現http.Handler和客戶端包裝http.Client,因此 Connect 與整個 Go HTTP 生態系統一起工作。
除了 gRPC 和 gRPC-Web,Connect還支援自己的協議。它是 gRPC 和 Twirp 中最好的,它適用於 HTTP/1.1 和 HTTP/2,並且對於 cURL 來說足夠簡單:
curl --header "Content-Type: application/json" \ --data '{"sentence": "I feel happy."}' \ https://demo.connect.build/buf.connect.demo.eliza.v1.ElizaService/Say |
總體而言,我們認為這是對基於 Protobuf 的 Go RPC 的更專注、更不引人注目的嘗試。
我從來沒有真正喜歡過gRPC,但真的很喜歡構建基於RPC的API。因此,當Twirp在2018年初出現時,我覺得有一個真正的替代方案。我認為Connect繼承了其他兩個產品的優點,推動了我們的發展。
Connect提供的一個很好的生活質量改進是對請求/響應頭的訪問。在上下文中不再有管道傳入/傳出頭資訊(這總是讓人覺得有點噁心)。直到你實現了一些程式碼,意識到這些程式碼是多麼的乾淨,多麼的容易推理,你才會欣賞這一點。
和Twirp一樣,Connect可以和我們最喜歡的Go路由器一起使用:Go-chi/chi、gorrila/mux或普通的標準庫。這是gRPC最困擾我的事情:缺乏與Go生態系統其他部分的互操作性。我認為Connect很好地彌補了這一缺陷,提供了gRPC和Twirp的優點,同時提供了一個新的價值主張。
點選標題
相關文章
- 一個與CONNECT BY相關的BUG
- golang開發一個簡單的grpcGolangRPC
- [gRPC]來聊一聊gRPC的認證RPC
- 【Mac】iTerm2 一個更好用的終端Mac
- 用最少的程式碼打造一個Mini版的gRPC框架RPC框架
- 《守望先鋒2》到底“2”在哪?一個更好的故事?
- 5 年,只為了一個更好的校驗框架框架
- 除gRPC之外的另一個選擇,IceRPC-支援QUICRPCUI
- 擼了一個可除錯 gRPC 的 GUI 客戶端除錯RPCGUI客戶端
- Zttp – 一個基於 Guzzle Http 的更好用的 PHP HTTP PackageHTTPPHPPackage
- 玩家正在用Mod打造一個更好的《賽博朋克2077》
- database的connectDatabase
- 8個小技巧,讓一個遊戲變得更好玩遊戲
- MottoJS,一個讓你的“座右銘”更好玩的JS外掛JS
- 做一個更好的A牌 從《Artifact》2.0看Valve的設計思路
- 一個基於 gin+ grpc + etcd 等框架開發的小栗子RPC框架
- Java 、Python、C++哪一個發展前景更好?JavaPythonC++
- gRPC(八)生態 grpc-gateway 應用:同一個服務端支援Rpc和Restful ApiRPCGateway服務端RESTAPI
- caddy & grpc(3) 為 caddy 新增一個 反向代理外掛RPC
- 動手實現一個簡單的 rpc 框架到入門 grpc (下)RPC框架
- 動手實現一個簡單的 rpc 框架到入門 grpc(上)RPC框架
- 動手實現一個簡單的 rpc 框架到入門 grpc (上)RPC框架
- Vagrant:更好的個人開發環境開發環境
- Java和Python哪個更好?JavaPython
- 如何在 Vue 元件中更好的引入一個第三方 JSVue元件JS
- grpc 的第一次嘗試RPC
- .Net 8.0 除gRPC之外的另一個選擇,IceRPC之快速開始HelloWorldRPC
- Web 2.0 和 Web 3.0 都是什麼意思?哪一個更好?Web
- grpc套路(四)php通過grpc呼叫golang的grpc介面服務RPCPHPGolang
- 更好利用 tmux 會話的 4 個技巧UX會話
- 讓你更好使用 Typescript 的11個技巧TypeScript
- golang 同時(一個專案)註冊http和GRPC服務GolangHTTPRPC
- 一個專科生的 2022 年終總結——默默努力,成為更好的自己
- 開始食用grpc(之一)RPC
- GRPC的使用RPC
- Java的GRPCJavaRPC
- 一個更好用的.NET Core程式瘦身器,減小程式尺寸到1/3
- 在位元組跳動,一個更好的企業級SparkSQL Server這麼做SparkSQLServer