網際網路級別的RPC框架:谷歌的gRPC開源框架

banq發表於2016-08-25
建設一個高擴充套件性 松耦合系統是非常艱難的,隨著移動和物聯網裝置增加擴充套件,不斷增長的資料量和越來越高的客戶期望,能夠高效,可靠地在網際網路規模的開發和執行系統變得非常關鍵。

在這樣的網際網路環境中,開發者總是會和不同語言 框架和技術打交道,各種微服務互動,這就使得定義服務合約變得困難,必須具有橫多個功能的一種統一服務,比如如身份驗證和授權、健康檢查、負載平衡、日誌記錄和監視和跟蹤等。

同時,在今天的雲的世界,新的服務需求增加得很快,對於每一個服務的期望都是要求靈活的,彈性的,高度可用和可組合。

在過去15年,谷歌已經使用Stubby在內部解決了這個問題,這是一種RPC框架,核心RPC能處理每秒數百億的請求。現在這個技術開放給每個人,作為開源專案:gRPC,它的目的是提供給整個社群與谷歌一樣的可擴充套件性,效能和功能。

GRPC可以幫助實現分散式系統的連線、操作和除錯與本地函式呼叫一樣容易;該框架能處理所有與嚴格的服務合同,資料序列化,高效的網路通訊、認證、訪問控制、分散式跟蹤等有關的複雜性。

gRPC使用protocol buffer能實現松耦合,提高工程速度,更高的可靠性和易操作性。gRPC允許開發人員使用語言無關的規格編寫與定義服務,能生成各種語言的客戶端和伺服器程式碼,生成的程式碼是地道本地原生語言。

gRPC支援多種語言實現:C++, Java, Go, Node, Ruby, Python and C# ,跨Linux, Windows 和 Mac。支援iOS和安卓,能夠使得移動應用更有效率地連線呼叫後端服務。


Google Cloud Platform Blog: gRPC: a true internet-

相關文章