亚洲a级毛片_亚洲成av人影院_亚洲VA久久久噜噜噜久久狠狠_亚洲AV无码一区二区三区人奶水_无码人妻久久一区二区三区免费丨_97人妻无码免费专区_8050午夜一级少妇无码

首頁 > 解決方案 > GRPC服務與應用

GRPC服務與應用

點擊次數:927 更新時間:2023-11-15
  遠程過程調用(RPC)系統在工業界的應用非常廣泛,該系統使得客戶端(Client)可以像調用本地方法一樣調用遠程服務端(Service)提供的方法,而不需要關心底層的通信細節。
 
  REST是一種靈活的體系結構,它定義了對實體資源的基于CRUD的操作, 客戶端使用請求/響應通信模型跨HTTP與資源進行交互。在它的基礎上,一種新的通信技術GRPC已在各個生態中獲得巨大的動力。
 
  GRPC是RPC框架的一種,是一個高性能、開源和通用的RPC框架,基于ProtoBuf(Protocol Buffers) 序列化協議開發,支持眾多開發語言,面向服務端和移動端,基于 HTTP/2 設計,支持諸如雙向流、流控、頭部壓縮、單TCP連接上的多復用請求等。
 
主流的GRPC框架:
 
  支持多語言的GRPC框架,比較成熟的有Google的GRPC、Apache(Facebook)的Thrift;
 
  只支持特定語言的RPC框架,例如新浪微博的Motan;
 
  支持服務治理等服務化特性的分布式服務框架,例如阿里的Dubbo。
 
基本通訊流程:
 
  1、客戶端(GRPC Stub)調用A方法,發起RPC調用。
 
  2、對請求信息使用Protobuf進行對象序列化壓縮(IDL)。
 
  3、服務端(GRPC Server)接收到請求后,解碼請求體,進行業務邏輯處理并返回。
 
  4、對響應結果使用Protobuf進行對象序列化壓縮(IDL)。
 
  5、客戶端接受到服務端響應,解碼請求體。回調被調用的A方法,喚醒正在等待響應(阻塞)的客戶端調用并返回響應結果。
 
GRPC的特性:
 
  支持C++、Java、Go、Python、Ruby、C#、Node.js、Android Java、Objective-C、PHP等編程語言;
 
  基于IDL ( 接口定義語言(Interface Define Language))文件定義服務,通過 proto3 工具生成指定言的數據結構、服務端接口以及客戶端Stub;
 
  基于標準的HTTP/2設計,支持雙向流、消息頭壓縮、單TCP多路復用、服務端推送等特性,這些特性使得GRPC在移動端設備上更加省電和節省網絡流量;
 
  序列化支持PB(Protocol Buffer)和JSON,PB是一種語言無關高性能序列化框架,基于 HTTP/2 + PB, 保障了RPC調用的高性能。
 
GRPC通常適合以下應用場景:
 
  點對點實時通信 - GRPC對雙向流媒體提供出色的支持,GRPC服務可以實時推送消息而無需輪詢。
 
  多語言混合開發環境 - GRPC工具支持所有流行的開發語言,使GRPC成為多語言開發環境的理想選擇。
 
  網絡受限環境 - 使用Protobuf(一種輕量級消息格式)序列化GRPC消息,GRPC消息始終小于等效的JSON消息。
 
  GRPC服務的優勢是能夠為每個獨立的服務(即多語言)使用不同的技術。每個服務都同意 API 來交換數據、數據格式、錯誤模式、負載平衡等。由于 GRPC 允許以二進制格式描述合約,可以有效地用于獨立于語言的服務通信。
 
  工業協議網關所承載的就是一種基于工業現場的服務應用!
 
  對于這種新型的工業場景應用,鐵牛智能網關已經開始布局,并且已經在客戶實際現場開發對接使用、并逐步走向成熟!
主站蜘蛛池模板: 基隆市| 永德县| 维西| 台南市| 南投县| 乃东县| 南丹县| 武夷山市| 博湖县| 宜州市| 桃源县| 中牟县| 夏津县| 平南县| 华宁县| 高要市| 涟源市| 聊城市| 布拖县| 和平县| 任丘市| 栾城县| 东海县| 钦州市| 石首市| 通化县| 柘城县| 大方县| 昆山市| 文登市| 长治市| 黄陵县| 富宁县| 涞源县| 大邑县| 麻城市| 萨嘎县| 依安县| 新竹县| 宝山区| 双江|