2017-06-22 13 views
2

我們有一個用golang編寫的gRPC服務器。對於其中一個RPC,我們從Google Maps gRPC API請求數據。一旦我們收到來自Google Maps RPC的響應,我們會進行一些計算並向封閉RPC(由我們的服務器定義)返回響應。我應該在我自己的gRPC服務器中向第三方gRPC API發送新的或舊的Context對象嗎?

當然,我們在服務器上調用RPC時會收到一個Context對象。

我的問題是:我們是否應該將相同的Context對象傳遞給Google Maps RPC?或者,我們是否應該創建一個新的Context對象(使用context.Background()),然後將其傳遞給Google Maps API?

回答

1

就我所知,1個上下文對於1的生命週期是有效的,只有1個rpc。 因此,只要我們意識到我們即將進行完全不同的rpc調用,就應該創造一個新的環境。然而,新上下文的元數據可能受當前上下文的元數據的啓發。 這裏的一個RPC可能被認爲類似於android中的單個活動/服務/廣播。

相關問題