dubbo接口超时和重试次数问题

背景:如果不设置dubbo解救超时时间,默认是1s,重试次数是2次,在调用dubbo接口时,会存在超过1s的接口响应时间,这时,就会重新发送请求,而在dubbo提供方逻辑还没有走完,就会由于接口响应时间问题而造成bug,在这次事故中是对数据库的操作几乎同时操作造成了SqlMapClient operation; SQL []这个错误。
dubbo默认值:

变量名描述默认值用途
DEFAULT_IO_THREADS默认IO线程Math.min(Runtime.getRuntime().availableProcessors() + 1, 32)创建NettyServer和MinaServer时
DEFAULT_PROXY默认代理,javassist通过生成字节码代替反射
DEFAULT_PAYLOAD默认最大数据大小8 * 1024 * 1024/8M在从通道获取数据进行编码时判断大小
DEFAULT_CLUSTER默认集群容错方案failover
DEFAULT_DIRECTORY默认集群目录服务dubbo
DEFAULT_LOADBALANCE默认负载均衡方案random(随机)
DEFAULT_PROTOCOL默认协议dubbo
DEFAULT_EXCHANGER默认信息交换方式header
DEFAULT_TRANSPORTER默认传输方式netty(netty3)
DEFAULT_REMOTING_SERVER默认远程客户端netty(netty3)
DEFAULT_REMOTING_CODEC默认协议编码dubbo
DEFAULT_REMOTING_SERIALIZATION默认远程调用序列化方案hessian2
DEFAULT_HTTP_CLIENTprotocol为hession时的默认客户端类型jdk
DEFAULT_HTTP_SERIALIZATIONhttp类型默认序列化方案json
DEFAULT_CHARSET默认字符集UTF-8
DEFAULT_WEIGHT服务默认权重1000
DEFAULT_FORKS默认并行请求数2
DEFAULT_THREAD_NAME默认线程名Dubbo
DEFAULT_CORE_THREADS默认核心线程数0
DEFAULT_THREADS线程池默认线程数200
DEFAULT_QUEUES默认队列数0
DEFAULT_IDLE_TIMEOUT默认空闲时间600 * 1000(10分钟)
DEFAULT_ALIVE连接默认存活时间60 * 1000(1分钟)
DEFAULT_CONNECTIONS默认连接0
DEFAULT_ACCEPTS默认接收0
DEFAULT_HEARTBEAT默认心跳时间60 * 1000(1分钟)
DEFAULT_TIMEOUT请求执行默认超时时间1s
DEFAULT_CONNECT_TIMEOUT连接默认超时时间3s
DEFAULT_RETRIES默认重试次数2
DEFAULT_BUFFER_SIZE默认缓冲区大小8 * 1024(8K)
事故处理:将超时时间设大,重试此处设为0
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值