原文:gRPC-go源碼(1):連接管理

寫在前面 在這個系列的文章中,我們將會從源碼的層面學習和理解gRPC。 整個系列的文章的計划大概是這樣的:我們會先從客戶端開始,沿着調用路徑逐步分析到服務端,以模塊為粒度進行學習,考慮這個模塊是為了解決什么問題,然后思考gRPC應該怎么去解決這個問題。在分析完這部分的架構設計后,我們會在接下來的一篇文章中研究具體的代碼實現。 因此,這個系列的文章不會像之前的源碼分析那樣貼一大段的代碼,然后加上注 ...

2021-01-24 17:05 1 535 推薦指數:

查看詳情

gRPC-go源碼(2):ClientConn

摘要 在上一篇文章中,我們聊了聊gRPC是怎么管理一條從Client到Server的連接的。 我們聊到了gRPC擁有Resolver,用來解析地址;擁有Balancer,用來做負載均衡。 在這一篇文章中,我們將從代碼的角度來分析gRPC是怎么設計Resolver和Balancer的,並會 ...

Tue Mar 02 07:45:00 CST 2021 1 540
grpc-go 連接backoff協議

當我們連接到一個失敗的后端時,通常希望不要立即重試(以避免泛濫的網絡或服務器的請求),而是做某種形式的指數backoff。 我們有幾個參數: INITIAL_BACKOFF (第一次失敗重試前后需等待多久) MULTIPLIER (在失敗的重試后乘以的倍數) JITTER (隨機 ...

Tue Dec 31 02:09:00 CST 2019 0 842
gRPC-go 入門(1):Hello World

摘要 在這篇文章中,主要是跟你介紹一下gRPC這個東西。 然后,我會創建一個簡單的練習項目,作為gRPC的Hello World項目。 在這個項目中,只有很簡單的一個RPC函數,用於說明gRPC的工作方式。 此外,我也會跟你分享一下我初次接觸gRPC所遇到的一些坑,主要是在protocol ...

Fri Sep 25 05:08:00 CST 2020 0 3288
Windows10 安裝grpc-go 詳細步驟

准備依賴 測試HelloWorld 打開server $env:GOPATH\src\github.com\grpc\grpc-go\examples\helloworld\greeter_server go run main.go 打開client $env:GOPATH\src ...

Mon Dec 16 01:27:00 CST 2019 0 327
HttpClient連接管理

HttpClient連接管理 主機間建立網絡連接是個非常復雜跟耗時的過程(例如TCP三次握手bla bla),在HTTP請求中,如果可以復用一個連接來執行多次請求,可以很大地提高吞吐量。 HttpClient中,連接就是一種可以復用的資源。它提供了一系列連接管理的API,幫助我們處理連接管理 ...

Mon Jan 06 18:52:00 CST 2020 0 242
boneCP的連接管理

時間等。 比較重要的時間概念代碼如下: boneCP對連接管理 MySQL對連接有最大空閑時 ...

Wed Jan 25 22:22:00 CST 2017 0 1693
TCP的運輸連接管理

TCP的運輸連接管理 TCP是面向連接的協議,有三個階段:連接建立、數據傳送 和 連接釋放。運輸連接管理就是使運輸連接的簡歷和釋放都能正常地進行。 在TCP連接建立過程中要解決一下三個問題: 1、 要使每一方都能夠確知對方的存在: 所以需要三次握手。 2、 要允許雙方協商一些參數 ...

Sun Sep 20 21:00:00 CST 2015 0 2109
圖解 HTTP 連接管理

熟悉我的小伙伴都知道,我之前肝了本《HTTP 核心總結》的 PDF,這本 PDF 是取自我 HTTP 系列文章的匯總,然而我寫的 HTTP 相關內容都是一年前了,我回頭看了一下這本 PDF,雖然內容不 ...

Wed Aug 04 17:34:00 CST 2021 0 584
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM