Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubbo这样的分布式服务框架的需求,并且本质上是个服务调用的东东,说白了就是个远程服务调用的分布式框架(告别Web Service模式中的WSdl,以服务者与消费者的方式在dubbo上注册)
前面讲到服务发布 这里主主要讲dubbo消费端
主体流程如下:
ReferenceConfig 类中
init方法中 创建代理
RegisterProtocol 类中的refer方法
doRefer()方法 链接到注册中心 从zookeeper上获取provider url 建立连接 基于provider 建立通信
RegistryDirectory 订阅方法subscribe
ReferenceBean-> ReferenceConfig
afterProperties -> getObject()
->ReferenceConfig->
getObject() -> get() ->
creatProxy() ->
refprotocol.refer() -> RegistryDirectory subscribe()方法