繁体   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