Dubbo 源码阅读 - 泛化调用实现原理
基本流程图
情形一:客户端有对应 client,服务端暴露泛化服务
ConsumerFilter 需要做两件事,一个是将正常调用转换成泛化调用,因为服务端只真正暴露的是 GenericService。再一个是将泛化结果转换成正常 client 返回结果。
情形二:客户端无对应 client,发起泛化调用
这里 ConsumerFilter 只负责设置一个 tips,即 attachment key : generic=true。后面是 ProviderFilter 起作用,它也需要做两件事,一个是将泛化调用转换成正常调用,另一个是将正常结果序列化或者泛化成 Map 返回。
评论