iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Dubbo retries超时重试机制的问题怎么解决
  • 610
分享到

Dubbo retries超时重试机制的问题怎么解决

2023-06-30 03:06:43 610人浏览 安东尼
摘要

本篇内容主要讲解“dubbo retries超时重试机制的问题怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Dubbo retries超时重试机制的问题怎么解决”吧!

本篇内容主要讲解“dubbo retries超时重试机制的问题怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Dubbo retries超时重试机制的问题怎么解决”吧!

异常日志

[com.alibaba.dubbo.rpc.filter.TimeoutFilter] -  [DUBBO] invoke time out. method: sendMessagearguments: [{****内容****}] , url is dubbo://*.*.*.*:20882/cn.demo.api.IDemoProviderApi?anyhost=true&application=demo&dubbo=2.8.4&generic=false&interface=cn.demo.api.IDemoProviderApi&methods=sendMessage,resetSendCount&pid=13008&revision=0.0.1-SNAPSHOT&side=provider&timeout=6000×tamp=1521449123489&version=1.0, invoke elapsed 10863 ms., dubbo version: 2.8.4, current host: 127.0.0.1 

异常原因

dubbo服务提供方,通过注解方式暴露的,参数设置如下:

@Service(version = "1.0", timeout = 6000)

消费方调用dubbo服务,请求超时,dubbo服务有超时重试机制,所以对于提交的业务,会有3次调用.

解决方案

修改dubbo服务提供方.将timeout超时设为20000ms.或者设置retries=“0”.禁用超时重试机制.

xml方式(消费方):

<!-- 需要消费的api -->  <dubbo:consumer check="false" id="dubboConsumerConfig" retries="0"/>

注解方式(提供方):

@Service(version = "1.0", timeout = 20000)

Dubbo超时重试机制

请求服务超时,但是最终程序执行了3次,对于提交订单的业务,只能是新增一个订单,这样是不可以的.

dubbo:provider 可以设置超时时间 timout,以及如果超时允许被重连的次数 retries.

dubbo:reference 可以设置超时时间,以及如果超时 timout,允许重连服务的次数 retries;如果服务方有设置retries,消费方可以不设置该参数.

dubbo:reference retries 的默认值和consumer一样,而consumer默认为2次

dubbo:consumer

retries

default.retries

int

可选

2

#--------以下为转载--------

超时设置

DUBBO消费端设置超时时间需要根据业务实际情况来设定,
如果设置的时间太短,一些复杂业务需要很长时间完成,导致在设定的超时时间内无法完成正常的业务处理。
这样消费端达到超时时间,那么dubbo会进行重试机制,不合理的重试在一些特殊的业务场景下可能会引发很多问题,需要合理设置接口超时时间。
比如发送邮件,可能就会发出多份重复邮件,执行注册请求时,就会插入多条重复的注册数据。

(1)合理配置超时和重连的思路

对于核心的服务中心,去除dubbo超时重试机制,并重新评估设置超时时间。
2.业务处理代码必须放在服务端,客户端只做参数验证和服务调用,不涉及业务流程处理

(2)Dubbo超时和重连配置示例

<!-- 服务调用超时设置为5秒,超时不重试--> <dubbo:service interface="com.provider.service.DemoService" ref="demoService"  retries="0" timeout="5000"/>

重连机制

dubbo在调用服务不成功时,默认会重试2次。
Dubbo的路由机制,会把超时的请求路由到其他机器上,而不是本机尝试,所以 dubbo的重试机器也能一定程度的保证服务的质量。
但是如果不合理的配置重试次数,当失败时会进行重试多次,这样在某个时间点出现性能问题,调用方再连续重复调用,
系统请求变为正常值的retries倍,系统压力会大增,容易引起服务雪崩,需要根据业务情况规划好如何进行异常处理,何时进行重试。

补充:下面介绍下dubbo RPC 不能直接传递数组类型。

今天遇到一个大坑,提供的一个RPC接口批量查Redis数据,由于数据类型不定,采用<String,Object>的map作为返回类型,查到的结果集其中有一个是数组类型,代码没报问题,但一直RPC异常,各种狗屎的尝试排查,终于定位到问题。

最简单的解决方案是将所有的value都转化成String类型。

目测是dubbo序列化不允许直接传递数组类型,后面再研究。

到此,相信大家对“Dubbo retries超时重试机制的问题怎么解决”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: Dubbo retries超时重试机制的问题怎么解决

本文链接: https://www.lsjlt.com/news/327167.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Dubbo retries超时重试机制的问题怎么解决
    本篇内容主要讲解“Dubbo retries超时重试机制的问题怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Dubbo retries超时重试机制的问题怎么解决”吧!...
    99+
    2023-06-30
  • Dubbo retries 超时重试机制的问题原因分析及解决方案
    目录异常日志异常原因解决方案Dubbo超时重试机制异常日志 [com.alibaba.dubbo.rpc.filter.TimeoutFilter] -  [DUBBO] ...
    99+
    2022-11-13
  • golang select机制和超时问题怎么解决
    这篇文章主要介绍了golang select机制和超时问题怎么解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇golang select机制和超时问题怎么解决文章都会有所收获,下面我们一起...
    99+
    2023-07-02
  • win8系统关机时自动重启问题怎么解决
    Windows 8操作系统发布已经有一段时间了,大家在使用Windows 8操作系统的时候有没有遇见过点击关机,实际上电脑又重启的怪现象,不管你遇见没有,反正很多人都遇见了,经过笔者的测试,总算琢磨出一种方...
    99+
    2022-06-04
    自动重启 关机时 系统
  • SQL数据库连接超时时间已到的问题怎么解决
    这篇文章主要介绍“SQL数据库连接超时时间已到的问题怎么解决”,在日常操作中,相信很多人在SQL数据库连接超时时间已到的问题怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”SQL数据库连接超时时间已到的...
    99+
    2023-07-06
  • 谷歌云服务器搭建ssr超时怎么解决的问题
    检查网络连接:检查网络连接是否正常,确保您的计算机与谷歌云服务器之间的网络连接稳定。如果网络连接存在问题,您的计算机可能无法连接到谷歌云服务器。 检查SSR集群配置文件:检查您的谷歌云服务器配置文件是否正确。确保SSR集群配置文件中的所有...
    99+
    2023-10-27
    服务器 谷歌云 ssr
  • Python中最强大的错误重试库问题怎么解决
    本文小编为大家详细介绍“Python中最强大的错误重试库问题怎么解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python中最强大的错误重试库问题怎么解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1 简...
    99+
    2023-06-30
  • 怎么解决XP共享打印机连接超过最大值的问题
    本篇内容主要讲解“怎么解决XP共享打印机连接超过最大值的问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么解决XP共享打印机连接超过最大值的问题”吧!最近一个朋友的公司的网络打印共享打印出问...
    99+
    2023-06-14
  • 怎么解决MySQL分页时使用 limit+order by出现数据重复的问题
    这期内容当中小编将会给大家带来有关怎么解决MySQL分页时使用 limit+order by出现数据重复的问题,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。0 问题描述在...
    99+
    2022-10-19
  • Vue消除Token过期时刷新页面的重复提示问题怎么解决
    这篇文章主要介绍“Vue消除Token过期时刷新页面的重复提示问题怎么解决”,在日常操作中,相信很多人在Vue消除Token过期时刷新页面的重复提示问题怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单...
    99+
    2022-10-19
  • 怎么解决复制网页上面的一些文字时出现了无法复制问题
    这篇文章主要介绍了怎么解决复制网页上面的一些文字时出现了无法复制问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。  1、首先打开浏览器,然后点击浏览器上方的“工具--Int...
    99+
    2023-06-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作