dubbo、自调用、injvm、本机

2019-10-25  本文已影响0人  把爱放下会走更远

场景:在项目A构成的一个集群中,其中的一台机器通过dubbo的方式调用集群的dubbo接口

问题:发现发起调用的机器调用到的服务一直都是本身,没有通过dubbo把请求负载到集群

解决:通过调试,在dubbo reference实例的代理类中,看到了invoke的一些信息,其中的地址显示类似:injvm:127.0.0.1......,这里有两个关键信息,一个是injvm,可以用来百度一下,第二是本地ip127.0.0.1,说明没有获取到机器的内网ip,直接从本地走了; 最后通过网上的说明,和dubbo的配置提示,加入了injvm="false"的参数,保证调用负载到集群内的一台上

配置如下:

<dubbo:reference id="apiInvoker" interface="cn.xxx.dubbo.ApiRemoterInvoker" 
retries="0"
injvm="false"
registry="dubboRegistry" 
connections="20" 
check="false"
timeout="2000"/>
上一篇 下一篇

猜你喜欢

热点阅读