dubbo调用多次服务的问题

Posted

tags:

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

首先根据dubbo的重试机制,超时机制,进行了配置:
服务:
<dubbo:service interface="com.fea.plat.bpm.activiti.service.BpmServiceMng" ref="bpmServiceMng" retries="0" version="1.0" timeout="150000"/>
客户:
<dubbo:reference interface="com.fea.plat.bpm.activiti.service.BpmServiceMng" id="bpmServiceMng" version="1.0" retries="0" timeout="150000"/>

根据网上找到的说明,这样配置应该就不会出现上述问题,但现在仍然会多次调用服务,各位大神,怎么破。。。
在一个项目里,两个地方调用了同样的dubbo服务,其中一个是正常的,另一个每次都会调用2次或3次,两个地方的代码基本一致

配置dubbo暴露服务,在使用中要暴露几个接口服务,就要配置几个service和bean,否则在消费者端会找不到该服务,报错。
如:
<dubbo:service interface="com.sitech.cdoc.db.pmapBase.api.PmapBaseSvc" ref="pmapBaseSvc"/>
<bean id="pmapBaseSvc" class="com.sitech.cdoc.db.pmapBase.impl.PmapBaseSvcImpl" ></bean>
2.dbProvider.properties
配置服务的端口号,在一台机器上配置多个dubbo服务时,要注意端口号不能重复。
参考技术A 有可能是超时重试了 也有可能就是有两个dubbo的jar包追问

在一个项目里,两个地方调用了同样的dubbo服务,其中一个是正常的,另一个每次都会调用2次或3次,两个地方的代码基本一致

Dubbo重试次数

  服务超时后重试次数【retries】,不包含第一次调用,0代表不重试

  *我们应该在幂等方法上设置重试次数【查询、删除、修改】,在非幂等方法上禁止设置重试次数。

  ★幂等:指多次运行方法所产生的最终效果是一致的

  

1     <!--3、声明需要调用的远程服务接口,生成远程服务代理,可以和本地Bean一样使用-->
2     <dubbo:reference id="userService" interface="cn.coreqi.service.UserService" timeout="5000">
3         <dubbo:method name="getById" timeout="1000" retries="3"/>
4     </dubbo:reference>
5 
6     <!--4、配置服务消费者的统一规则-->
7     <dubbo:consumer timeout="5000"/>

 

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

dubbo 参数配置详解

Dubbo重试次数

jmeter远程分布式调用配置记录

调用dubbo服务时事务配置在哪

Dubbo服务调用隔离这么玩对么

dubbo集群服务下一台服务挂了对服务调用的影响