服务暴露
就是用来创建invoke代理对象,使用export方法将服务注册到注册表中,并创建netty的客户端来进行端口的监听
服务引用
就是@Reference的使用。在ReferenceConfig中进行消息的订阅,这个消息订阅就是引用注册表中的invoke,并且也创建了一个netty客户端用于交互
服务调用
调用这个invoker代理对象(就是自动上注入的service),在dubbo中客户端调用的service是被多次代理后的一个对象,这之中有个filter代理,作用就是使用dubbo的容错、并得到loadblance,来选择使用注册中心中的哪个服务,最终的话是在DubboInvoker对象中进行远程调用,这个对象来获取到通道并模拟出传输的参数,通过request来进行请求,得到结果之后进行解析并返回。
小补充:
这里是使用的dubbo协议,dubbo还支持很多协议,来暴露服务。dubbo使用SPI来得到协议。