麻豆hd无码专区_亚洲午夜久久久影院_女人扒开腿让男人桶到爽_女人与动zzz0000xxxx_女教师杨雪的性荡生活

產(chǎn)品列表 / products

首頁 > 解決方案 > GRPC服務(wù)與應(yīng)用

GRPC服務(wù)與應(yīng)用

點擊次數(shù):873 更新時間:2023-11-15
  遠(yuǎn)程過程調(diào)用(RPC)系統(tǒng)在工業(yè)界的應(yīng)用非常廣泛,該系統(tǒng)使得客戶端(Client)可以像調(diào)用本地方法一樣調(diào)用遠(yuǎn)程服務(wù)端(Service)提供的方法,而不需要關(guān)心底層的通信細(xì)節(jié)。
 
  REST是一種靈活的體系結(jié)構(gòu),它定義了對實體資源的基于CRUD的操作, 客戶端使用請求/響應(yīng)通信模型跨HTTP與資源進(jìn)行交互。在它的基礎(chǔ)上,一種新的通信技術(shù)GRPC已在各個生態(tài)中獲得巨大的動力。
 
  GRPC是RPC框架的一種,是一個高性能、開源和通用的RPC框架,基于ProtoBuf(Protocol Buffers) 序列化協(xié)議開發(fā),支持眾多開發(fā)語言,面向服務(wù)端和移動端,基于 HTTP/2 設(shè)計,支持諸如雙向流、流控、頭部壓縮、單TCP連接上的多復(fù)用請求等。
 
主流的GRPC框架:
 
  支持多語言的GRPC框架,比較成熟的有Google的GRPC、Apache(Facebook)的Thrift;
 
  只支持特定語言的RPC框架,例如新浪微博的Motan;
 
  支持服務(wù)治理等服務(wù)化特性的分布式服務(wù)框架,例如阿里的Dubbo。
 
基本通訊流程:
 
  1、客戶端(GRPC Stub)調(diào)用A方法,發(fā)起RPC調(diào)用。
 
  2、對請求信息使用Protobuf進(jìn)行對象序列化壓縮(IDL)。
 
  3、服務(wù)端(GRPC Server)接收到請求后,解碼請求體,進(jìn)行業(yè)務(wù)邏輯處理并返回。
 
  4、對響應(yīng)結(jié)果使用Protobuf進(jìn)行對象序列化壓縮(IDL)。
 
  5、客戶端接受到服務(wù)端響應(yīng),解碼請求體。回調(diào)被調(diào)用的A方法,喚醒正在等待響應(yīng)(阻塞)的客戶端調(diào)用并返回響應(yīng)結(jié)果。
 
GRPC的特性:
 
  支持C++、Java、Go、Python、Ruby、C#、Node.js、Android Java、Objective-C、PHP等編程語言;
 
  基于IDL ( 接口定義語言(Interface Define Language))文件定義服務(wù),通過 proto3 工具生成指定言的數(shù)據(jù)結(jié)構(gòu)、服務(wù)端接口以及客戶端Stub;
 
  基于標(biāo)準(zhǔn)的HTTP/2設(shè)計,支持雙向流、消息頭壓縮、單TCP多路復(fù)用、服務(wù)端推送等特性,這些特性使得GRPC在移動端設(shè)備上更加省電和節(jié)省網(wǎng)絡(luò)流量;
 
  序列化支持PB(Protocol Buffer)和JSON,PB是一種語言無關(guān)高性能序列化框架,基于 HTTP/2 + PB, 保障了RPC調(diào)用的高性能。
 
GRPC通常適合以下應(yīng)用場景:
 
  點對點實時通信 - GRPC對雙向流媒體提供出色的支持,GRPC服務(wù)可以實時推送消息而無需輪詢。
 
  多語言混合開發(fā)環(huán)境 - GRPC工具支持所有流行的開發(fā)語言,使GRPC成為多語言開發(fā)環(huán)境的理想選擇。
 
  網(wǎng)絡(luò)受限環(huán)境 - 使用Protobuf(一種輕量級消息格式)序列化GRPC消息,GRPC消息始終小于等效的JSON消息。
 
  GRPC服務(wù)的優(yōu)勢是能夠為每個獨立的服務(wù)(即多語言)使用不同的技術(shù)。每個服務(wù)都同意 API 來交換數(shù)據(jù)、數(shù)據(jù)格式、錯誤模式、負(fù)載平衡等。由于 GRPC 允許以二進(jìn)制格式描述合約,可以有效地用于獨立于語言的服務(wù)通信。
 
  工業(yè)協(xié)議網(wǎng)關(guān)所承載的就是一種基于工業(yè)現(xiàn)場的服務(wù)應(yīng)用!
 
  對于這種新型的工業(yè)場景應(yīng)用,鐵牛智能網(wǎng)關(guān)已經(jīng)開始布局,并且已經(jīng)在客戶實際現(xiàn)場開發(fā)對接使用、并逐步走向成熟!