dubbo之本地调用

Posted jmbkeyes

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dubbo之本地调用相关的知识,希望对你有一定的参考价值。

本地调用

本地调用使用了 injvm 协议,是一个伪协议,它不开启端口,不发起远程调用,只在 JVM 内直接关联,但执行 Dubbo 的 Filter 链。

配置

定义 injvm 协议

<dubbo:protocol name="injvm" />

设置默认协议

<dubbo:provider protocol="injvm" />

设置服务协议

<dubbo:service protocol="injvm" />

优先使用 injvm

<dubbo:consumer injvm="true" .../>
<dubbo:provider injvm="true" .../>

<dubbo:reference injvm="true" .../>
<dubbo:service injvm="true" .../>

注意:服务暴露与服务引用都需要声明 injvm="true"

自动暴露、引用本地服务

从 2.2.0 开始,每个服务默认都会在本地暴露。在引用服务的时候,默认优先引用本地服务。如果希望引用远程服务可以使用一下配置强制引用远程服务。

<dubbo:reference ... scope="remote" />

以上是关于dubbo之本地调用的主要内容,如果未能解决你的问题,请参考以下文章

Dubbo之RPC框架

Dubbo源码阅读系列之远程服务调用(上)

dubbo源码分析 之 服务本地暴露

dubbo之本地存根

dubbo源码阅读-ProxyFactory之StubProxyFactoryWrapper本地存根

Dubbo之简介