摘要:
本文从更深入的网络传输方面讲解消费者如何连接到提供者,消费者的Filter在什么时机执行,如何基于Netty建立的通道传输数据。
filter过滤链条
这里我们继续上一篇的FailoverClusterInvoker分析,上面从负载均衡选出一个invoker之后,然后便开始调用invoker.invoke(invocation),这里的invoker其实是RegistryDirectory$InvokerDelegate。
// 3.5、具体发起远程调用
// 这里拿到的invoker对象是RegistryDirectory$InvokerDelegate
Result result = invoker.invoke(invocation);
// 关键代码:这里调用Dubbo协议转换服务到invoker
// 这里的protocol.refer(serviceType, url)的结果是ProtocolFilterWrapper
invoker