簡體   English   中英

ruby / rails grpc服務器在不斷開客戶端連接的情況下重新啟動

[英]ruby/rails grpc server restart without disconnecting clients

我正在使用以下代碼片段來啟動運行良好的grpc服務器。 但是,每當我需要將新代碼部署到服務器時,重新啟動服務器的正確方法是什么? 我應該殺死服務器進程,讓客戶端處理錯誤消息嗎? 還是有辦法像獨角獸一樣啟用主人/工人模式?

s = GRPC::RpcServer.new
s.run_till_terminated

沒有這樣的支持來推出內置在ruby-gRPC中的新部署。

但是,具有多個服務器實例的應用程序應該可以進行滾動重啟。 例如,請注意,如果gRPC連接到服務器並開始對其進行RPC,並且該服務器被關閉,則gRPC將在內部注意到該連接已損壞,並且它將嘗試在新的連接上進行下一個RPC(默認gRPC的行為將是在可以成功連接的下一個解析地址上執行其下一個RPC,這可能意味着重新連接到剛斷開連接的相同地址)。 還要注意,gRPC服務器默認情況下使用SO_REUSEPORT ,因此一台服務器可能會在同一端口上運行多個服務器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM