我對(g)rpc有點新,而且我不太瞭解這個概念。我們在一個Kubernetes集羣中有一組NodeJS服務器,通過grpc相互通信。 rpc接口針對客戶端新貴上的每臺服務器進行設置。gRPC在服務器重啓時丟失連接
我們最近發現,重新啓動服務器後,其客戶端失去與該服務器的連接。也就是說,在該服務器重新啓動之後,以前工作的rpc對服務器的調用不再起作用。直到我們以正確的順序重新啓動服務器,它纔會重新啓動。
我雖然是通過一個地址(主機+端口)告訴客戶端,這裏是一個你可以調用的過程。並且在調用該過程時,地址被調用,在服務器上處理並返回。如果這樣工作,客戶端不會在乎rpc調用之間服務器是否重新啓動了0次或100次。
但是通過上面對客戶端rpc調用失敗/超時的描述,似乎有一個類似於套接字的連接,其中在兩個部分都在運行時建立和維護連接。
它是如何工作的,是否需要對我的客戶端上的rpc服務器執行健康檢查,以便在服務器重新啓動時重新建立接口?
感謝您的時間。
你使用的是什麼版本的gRPC? – murgatroid99
你看到什麼錯誤讓你認爲是這種情況?有時gRPC記錄警告,但保持正常工作。請在問題中更具描述性和具體性,以便人們可以提供幫助。 –