https://github.com/apache/dubbo
Dubbo总体分层
Dubbo总体可以分为业务层(Biz)、RPC层、Remote层。如果把每一层继续细化,那么一共可以分为十层。其中Monitor在最新的官方PPT中并不再作为单独的一层。
Service和Config两层可以认为是API层,主要提供给API使用者,使用者无须关心底层的实现,只需要配置和完成业务代码即可;后面所有的层级合在一起,可以认为是SPI层,主要提供给扩展者使用。
Tips:
SPI ,全称为 Service Provider Interface,是一种服务发现机制。
Dubbo总体调用过程
首先, 服务器端(服务提供者) 在框架启动时, 会初始化服务实例, 通过Proxy组件调
用具体协议(Protocol ) ,把服务端要暴露的接口封装成Invoker (真实类型是
AbstractProxylnvoker),然后转换成Exporter,这个时候框架会打开服务端口等并记录服务实例
到内存中, 最后通过Registry把服务元数据注册到注册中心。 这就是服务端(服务提供者)整
个接口暴露的过程。