本地调用

    在 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" .../>
    

    自动暴露、引用本地服务

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

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