国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

GRPC學習筆記

2019-11-09 17:58:56
字體:
來源:轉載
供稿:網友

一、什么是gRPC?作用是什么?優點在哪里?

定義:(Google Remote PRocedure Protocol)谷歌遠程過程調用,根據官方文檔對grpc的介紹,grpc可以讓客戶端程序直接調用服務端不同主機上應用的方法,就像調用本地方法一樣,方便我們創建分布式應用和服務

在gRPC里客戶端應用可以像調用本地對象一樣直接調用另一臺不同的機器上服務端應用的方法,使得您能夠更容易地創建分布式應用和服務。與許多RPC系統類似,gRPC也是基于以下理念:定義一個服務,指定其能夠被遠程調用的方法(包含參數和返回類型)。在服務端實現這個接口,并運行一個gRPC服務器來處理客戶端調用。在客戶端擁有一個存根能夠像服務端一樣的方法。

gRPC客戶端可以再多種環境中運行與交互- 從Google內部的服務器到自己的筆記本,并且可以用任何gRPC支持的語言來編寫。所以,你可以很容易地用java創建一個gRPC服務端,用Go、Python、Ruby來創建客戶端。此外,Google最新API將有gRPC版本的接口,使你很容易地將Google的功能集成到你的應用里。

gRPC默認使用protocol buffers,這是google開源的一套成熟的數據結構序列化機制(當然也可以使用其他數據格式如JSON)。正如你將在下方例子里所看到的,你用protocolfiles創建gRPC服務,用protocol buffers消息類型來定義方法參數和返回類型

總結:gRPC是一個高性能、通用的開源RPC框架,其由Google主要面向移動開發并基于HTTP/2協議標準而設計,基于protoBuf(Protocol Buffers)序列化協議開發,且支持眾多開發語言。gRPC提供了一種簡單的方法來精確地定義服務為iOS、Android和后臺支持服務自動生成可靠性很強的客戶端功能庫。客戶端充分利用高級流和連接功能,從而有助于節省寬帶、降低TCP鏈接次數、節省CPU使用和電池壽命。

基于HTTP/2標準設計

由于gRPC基于HTTP/2標準設計,所以相對于其他RPC框架,gRPC帶來了更多強大功能,如雙向流、頭部壓縮、多復用請求等。這些功能給移動設備帶來重大益處,如節省帶寬、降低TCP連接次數、節省CPU使用和延長電池壽命等。同時,gRPC還能夠提高了云端服務和Web應用的性能。gRPC既能夠在客戶端應用,也能夠在服務端應用,從而以透明的方式實現客戶端和服務端的通信和簡化通信系統的構建。

gRPC已經應用在Google的云服務和對外提供的API中,其主要應用場景如下: 低延遲、高擴展性、分布式的系統;同云服務器進行通信的移動應用客戶端;設計在語言獨立、高效、精確地新協議;便于各方面擴展的分層設計;如認證、負載均衡、日志記錄、監控等。

使用gRPC幾大核心步驟:

Defining a service 定義服務(在.proto文件中這個是和后臺交互的主要協議)Generating grpc code 生成grpc代碼writing a server編寫服務主要是服務端需要編寫一定的服務提供給客戶端使用(類似接口)server imolementation服務的實現writing a client 編寫客戶端代碼(集成grpc)calling an prc 根據遠程調用協議(.proto文件約定的協議)進行代碼(接口)調用

優點

客戶端充分利用高級流和鏈接功能,從而有助于節省寬帶、降低TCP的連接次數、節省CPU的使用和電池壽命。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 江门市| 连云港市| 玉林市| 墨竹工卡县| 方山县| 城市| 石门县| 长宁区| 余姚市| 峡江县| 虞城县| 石嘴山市| 澄城县| 宁晋县| 大宁县| 梓潼县| 贵州省| 墨竹工卡县| 东乌| 乡城县| 闽清县| 那曲县| 嵊泗县| 池州市| 灵宝市| 广元市| 浙江省| 丁青县| 陆河县| 开远市| 临西县| 台中市| 茂名市| 汤原县| 辽宁省| 射洪县| 清涧县| 喀喇沁旗| 伊吾县| 东光县| 炎陵县|