RPC快速入門(GO)

2021-10-02 15:25:45 字數 1283 閱讀 1860

在分布式計算,遠端過程呼叫(英語:remote procedure call,縮寫為 rpc)是乙個計算機通訊協議。該協議允許執行於一台計算機的程式呼叫另乙個位址空間(通常為乙個開放網路的一台計算機)的子程式,而程式設計師就像呼叫本地程式一樣,無需額外地為這個互動作用程式設計(無需關注細節)。rpc是一種伺服器-客戶端(client/server)模式,經典實現是乙個通過傳送請求-接受回應進行資訊互動的系統。

編寫server端**

//求圓面積

func (m *mathnum) computed (req float32,resp *float32)error

func main()

//通過該函式將mathnum所提供對服務註冊到http協議上,方便呼叫者利用http到方式進行資料傳輸

//在指定埠進行監聽

}編寫client端**

package main

import(

"net/rpc"

"fmt"

)func main()

var req float32

req = 2

//同步呼叫

// var resp *float32

// err = client.call("mathnum.computed",req,&resp)

// if err != nil

// fmt.println(*resp)

//非同步呼叫

var asyncresp *float32

async := client.go("mathnum.computed",req,&asyncresp,nil)

replay := <-async.done

fmt.println(replay)

fmt.println(*asyncresp)

}

tips:

需要先將server端啟動,client端才能正常執行

Go 03 Go 快速入門

目錄的組織形式 goproject src go code project01 專案 main package 乙個個字資料夾也就是包 go檔案的字尾是 go hello.go 原始碼 package main import fmt func main 層的理解 package main 表示該 h...

go語言快速入門 一

1.使用var宣告 go語言中使用var宣告變數 var name type expressiontype和expression可以省略乙個,如 package main import fmt func main 結果 10 0 102.多變數宣告 var a,b int var c,d 1,b v...

RPC簡單入門

最近用到了rpc框架thrift,之前面試的時候也遇到過面試官問rpc的框架。但是之前沒用過,所以也不知道這個東西的使用場景是什麼,更別說是怎樣實現的了。現在知道了rpc是用來呼叫別人的服務獲得結果,但是使用起來就像呼叫自己本地方法一樣。那麼它是怎麼做到這種能力的呢?看到一篇文章講解了rpc的簡單演...