-
rpc使服務之間的方法呼叫像本地一樣,感知不到網路通訊的存在。
-
rpc是基於tcp協議的,但grpc是基於http2協議的。http2的好處是公開通用。
-
rpc主要有兩個工作,序列化(物件轉換為二進位制,用於網路傳輸),編解碼(被呼叫方收到資料包,需要知道他的方法名,輸入引數在資料包的起始位置等)
-
grpc中函式中的context引數是啥意思
在 gRPC 中,函式中的
context
引數是用於傳遞上下文資訊的物件。它提供了一種在不同的函式呼叫之間共享狀態、傳遞截止時間、取消訊號以及其他相關資訊的方式。context
引數通常被用作第一個引數傳遞給 gRPC 服務方法。透過
context
,可以實現以下功能:- 截止時間控制:可以設定請求的截止時間,當超過截止時間時,gRPC 框架可以自動取消請求。
- 取消請求:可以透過
context
傳送取消訊號,通知正在進行的請求取消操作。 - 傳遞後設資料:可以在
context
中新增鍵值對形式的後設資料,這些後設資料可以在服務端和客戶端之間進行傳遞。 - 共享狀態:可以在
context
中儲存和共享一些與請求相關的狀態資訊。context
的使用使得 gRPC 服務能夠更好地處理併發請求、超時情況和取消操作,同時也方便了在不同函式之間傳遞相關的上下文資訊。
-
context.abort()
context.abort()
是 gRPC 框架中用於終止 RPC(Remote Procedure Call)呼叫的方法。它可以在伺服器端或客戶端使用,用於在出現錯誤或異常情況時,主動中斷正在進行的 RPC 呼叫,並向對方傳送一個錯誤狀態碼和可選的詳細資訊。 以下是context.abort()
的一般用法:- 在伺服器端,當伺服器在處理 RPC 呼叫時遇到錯誤或異常情況,可以呼叫
context.abort()
來終止該呼叫。這將導致客戶端收到一個錯誤響應,並可以根據錯誤狀態碼進行相應的處理。 - 在客戶端,當客戶端發現與伺服器的連線出現問題或 RPC 呼叫超時等情況時,也可以呼叫
context.abort()
來中斷呼叫。 透過使用context.abort()
,可以在 gRPC 通訊中及時處理錯誤情況,並提供更明確的錯誤反饋。這樣可以幫助開發者更好地處理異常情況,增強系統的健壯性和可靠性。
- 在伺服器端,當伺服器在處理 RPC 呼叫時遇到錯誤或異常情況,可以呼叫
grpc
相關文章
- gRPC(四)基礎:gRPC流RPC
- grpc套路(四)php通過grpc呼叫golang的grpc介面服務RPCPHPGolang
- grpc套路(五)grpc優秀文章分享RPC
- gRPC(三)基礎:gRPC快速入門RPC
- gRPC 初探RPC
- gRPC in PythonRPCPython
- [gRPC]來聊一聊gRPC的認證RPC
- gRPC學習之五:gRPC-Gateway實戰RPCGateway
- go語言gRPC系列(三) - 使用grpc-gateway同時提供HTTP和gRPC服務GoRPCGatewayHTTP
- go使用grpcGoRPC
- grpc 筆記RPC筆記
- python 使用gRPCPythonRPC
- protobuf和gRPCRPC
- gRPC進階RPC
- GRPC的使用RPC
- golang和gRPCGolangRPC
- Java的GRPCJavaRPC
- 【go】【grpc】【interceptor】GoRPC
- gRPC,爆贊RPC
- gRPC介紹RPC
- GRPC詳解RPC
- gRPC簡介RPC
- gRPC Load BalancingRPC
- gRPC-Web:替代REST的gRPC的Javascript庫包RPCWebRESTJavaScript
- Fast-GRPC: 用python輕鬆開發grpc介面ASTRPCPython
- go語言gRPC系列(二) - 為gRPC新增證書GoRPC
- [gRPC via C#] gRPC本質的探究與實踐RPCC#
- gRPC學習之三:初試GO版gRPC開發RPCGo
- gRPC應用實戰:(三)gRPC四種請求模式RPC模式
- grpc雙向流RPC
- golang安裝gRpcGolangRPC
- iOS gRPC 初步探索iOSRPC
- Python gRPC 入門PythonRPC
- GRPC與HTTP/3.0RPCHTTP
- 解密gRPC: Protocol Buffer解密RPCProtocol
- grpc.SupportPackageIsVersion6RPCPackage
- grpc簡單教程RPC
- mitmproxy grpc 抓包MITRPC