dubbo服务消费者首次调用服务执行两次
服务提供者启动注册服务后,服务消费者首次调用服务,该服务执行两次,有没有人知道怎么解决啊?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
服务提供者启动注册服务后,服务消费者首次调用服务,该服务执行两次,有没有人知道怎么解决啊?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(8)
如@wangyunzhong所回答的,检查一下是否是因为调用服务超时,导致重试机制启动,形成多次调用。
<dubbo:service interface="com.provider.service.DemoService" ref="demoService" retries="2" timeout="300"/>
retries是指重试次数,默认是2次,也就是当调用服务时,出现超时或者连接异常,额外再试2次,共3次。
timeout是指服务超时时间,默认300ms。
你可以通过将timeout设置高一些,或者将retries设置为0屏蔽重试机制,来检查是否还会出现两次的情况。
我是往数据库里插数据时发现的问题,第一次运行次数不等。
我也刚接触 我怎么没有发下这个问题
能不能详细点啊,我刚接触dubbo。谢谢啦!
回复
休假了,今天才看到你的回复。 dubbo默认启动,有重试机制和超时机制。超时机制认为,如果在一定的时间内,provider没有返回,则认为调用失败。重试机制在调用失败时,会再次调用。如果三次都失败,则认为调用失败,抛出异常。超时机制是不可以配置失效的,但可以配置时间长短。重试是可以配置是否生效的。
回复
http://dubbo.io/User+Guide-zh.htm#UserGuide-zh-%E9%9B%86%E7%BE%A4%E5%AE%B9%E9%94%99 “集群容错” 这一章节
回复
谢谢啊!!
把dubbo的重试机制关闭,再试试。
在服务方打时间日志,确认下是否因为自己的服务首次调用的耗时,和正常运行期间的耗时不一样。