dubbo 重启时抛错.优雅停机方案解决or

原因:

nettyChannel 再 shutDown hook 时被提前关闭了.

因为先关 dubbo 入口,最后关 dubbo 调用出口. 故这种情况下,连接池还不能共用. 不能像 zk 那样,因为对等,关掉一个. tcp close 关掉代表.不再写.

不再写,为什么会出现 readTimeOut 的情况呢? 配置了 dubbo 超时时间. 可能 duubo 的关闭是双向关闭? 这个是 tcp 控制的. dubbo sever 端只能进行连接池空闲检测回收.?

多久一次? 有 netty 控制?

netty 服务端  监听客户端关闭关闭事件? 查下 netty 的 nio 的事件机制,有没有客户端的关闭事件. 然后怎么处理的.?

这种 callBack 可以有,也可以没有,完全看下层的实现. 父类,下层. (http://blog.csdn.net/jiangguilong2000/article/details/7861754

Q1:服务器主动关闭连接后,客户端没有监听到socket关闭的事件。

)


1.这种是每次请求抛错.

2. 还有一种是直接发现已经 close,抛错.

2017-03-30 14:22:02 673,hostName=.com,Remote invoke [email protected] error. args:[414162054], resp:dubbo return null object., time:1174,Flag=6445603358dca406fdba65521f104686

com.alibaba.dubbo.rpc.RpcException: Invoke remote method timeout. method: getByOrderId, provider  /com..liangjian.order.api.OrderRemotingService
    at com.alibaba.dubbo.rpc.protocol.dubbo.DubboInvoker.doInvoke(DubboInvoker.java:100)
    at com.alibaba.dubbo.rpc.protocol.AbstractInvoker.invoke(AbstractInvoker.java:144)
    at com.alibaba.dubbo.rpc.listener.ListenerInvokerWrapper.invoke(ListenerInvokerWrapper.java:74)
    at com..framework.dubbo.ZipkinDubboConsumerFilter.invoke(ZipkinDubboConsumerFilter.java:129)
    at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
    at com..liangjian.pay.common.dubbo.TradeConsumerFilter.invoke(PayConsumerFilter.java:79)
    at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
    at com..framework.dubbo.ConsumerLogStaticFilter.invoke(ConsumerStaticFilter.java:66)
    at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
    at com.alibaba.dubbo.rpc.protocol.dubbo.filter.FutureFilter.invoke(FutureFilter.java:53)
    at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
    at com.alibaba.dubbo.monitor.support.MonitorFilter.invoke(MonitorFilter.java:75)
    at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
    at com.alibaba.dubbo.rpc.filter.ConsumerContextFilter.invoke(ConsumerContextFilter.java:48)
    at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
    at com.alibaba.dubbo.rpc.protocol.InvokerWrapper.invoke(InvokerWrapper.java:53)
    at com.alibaba.dubbo.rpc.cluster.support.FailoverClusterInvoker.doInvoke(FailoverClusterInvoker.java:77)
    at com.alibaba.dubbo.rpc.cluster.support.AbstractClusterInvoker.invoke(AbstractClusterInvoker.java:227)
    at com.alibaba.dubbo.rpc.cluster.support.wrapper.MockClusterInvoker.invoke(MockClusterInvoker.java:72)
    at com.alibaba.dubbo.rpc.proxy.InvokerInvocationHandler.invoke(InvokerInvocationHandler.java:52)
    at com.alibaba.dubbo.common.bytecode.proxy0.getByOrderId(proxy0.java)
    at com.integration.impl.IntegrationService.getOrderById(OrderIntegrationServiceImpl.java:192)
   
    at com.alibaba.rocketmq.client.impl.consumer.ConsumeMessageConcurrentlyService$ConsumeRequest.run(ConsumeMessageConcurrentlyService.java:160)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
Caused by: com.alibaba.dubbo.remoting.TimeoutException: Waiting server-side response timeout. start time: 2017-03-30 14:22:01.484, end time: 2017-03-30 14:22:02.658, client elapsed: 0 ms, server elapsed: 1174 ms, timeout: 1000 ms, request: Request [id=10511237, version=2.0.0, twoway=true, event=false, broken=false, data=RpcInvocation [methodName=getByOrderId, parameterTypes=[class java.lang.Long], arguments=[414162054], attachments={flag=6445603358dca406fdba65521f104686, token=true, path=com..liangjian.order.api.OrderRemotingService, zipkin.sampleJudgement=noSample, interface=com..liangjian.order.api.OrderRemotingService, version=1.0.0}]], channel: /:5257 -> /:710
    at com.alibaba.dubbo.remoting.exchange.support.DefaultFuture.get(DefaultFuture.java:107)
    at com.alibaba.dubbo.remoting.exchange.support.DefaultFuture.get(DefaultFuture.java:84)
    at com.alibaba.dubbo.rpc.protocol.dubbo.DubboInvoker.doInvoke(DubboInvoker.java:97)
    ... 38 more

你可能感兴趣的:(dubbo)