c 客戶端 grpc gRPC 從學習到生產

2021-10-14 04:57:30 字數 934 閱讀 3380

博文:about.sourcegraph.com/go/grpc-in-…

答案就是:soap……好吧,開個玩笑,當然不可能是 soap 了。

現在流行的做法是 http + json (rest api)

alan 說「如果這輩子再也不寫另乙個 rest 客戶端庫的話,那就可以很幸福的死去了……」,因為這是最無聊的事情,一遍一遍的在做同樣的事情。

gprc 是高效能、開源、通用的 rpc 框架。

與其講解定義,不如來實際做個東西更清楚。

使用 grpc 這類東西,我們並非開始於寫 go **,我們是從撰寫 grpc 的 idl 開始的。

syntax = "proto3"package rpc;service cache  rpc get(getreq) returns (getresp) {}}message storereq message storeresp {}message getreq message getresp
當寫了這個檔案後,我們立刻擁有了 9 種語言的客戶端的庫。

同時,我們也擁有了 7 種語言的服務端的 api stub:

server.go

func servermain() { if err := runserver(); err != nil { fmt.fprintf(os.stderr, "failed to run cache server: %s

瘦客戶端 胖客戶端 智慧型客戶端

胖客戶端模式將應用程式處理分成了兩部分 由使用者的桌面計算機執行的處理和最適合乙個集中的伺服器執行的處理。乙個典型的胖客戶端包含乙個或多個在使用者的pc上執行的應用程式,使用者可以檢視並運算元據 處理一些或所有的業務規則 同時提供乙個豐富的使用者介面做出響應。伺服器負責管理對資料的訪問並負責執行一些...

胖客戶端 瘦客戶端和富客戶端

以c s結構開發的網路應用程式,需要為客戶端開發專用的客戶端軟體,相對而言其客戶端比較龐大,在客戶端可以實現很多功能,分擔伺服器的負擔,屬於胖客戶端型別。以b s結構開發的web應用,其客戶端只是乙個瀏覽器,所有業務邏輯由伺服器端進行處理,相對而言客戶端比較瘦小,故稱為瘦客戶端。目前比較流行的一種開...

OPC客戶端學習

opc 伺服器由三個物件組成 伺服器 server 組 group 項 item 1.初始化com庫,使用函式coinitializeex 2.通過opc伺服器的progid得到clsid,使用函式clsidfromprogid 3.建立opc伺服器物件,並查詢iopcitemmgt介面,使用函式 ...