按你的解决方案,先`sendChannelReadOnlyEvent`给consumer以禁用channel,这个过程是有时间差的,仍是会有请求发出,在`dubbo.service.shutdown.wait`内,provider是可以正常处理的。如果时间差大于这个(可能性小),请求会失败。按照目前dubbo的做法:provider先`AbstractRegistryFactory.destroyAll`会触发consumer更新invoker
list,然后`sendChannelReadOnlyEvent`后等待`dubbo.service.shutdown.wait`
,关闭cha
也许你可以通过增长`dubbo.service.shutdown.wait`来解决你的问题.优雅关机会等待一段时间(`dubbo.service.shutdown.wait`)以处理已到达的请求然后再关闭channel.
[ Full content available at: https://github.com/apache/dubbo/issues/4714 ]
This message was relayed via gitbox.apache.org for
notifications@dubbo.apache.org