Akka默认20s超时修改配置

问题现象:项目中调用第三方rest接口,耗时超过20s,连续请求5次,然后报超时失败

定位分析: 我scala代码中默认是5分钟超时失败,也没有设置循环调用的地方,搜索了所有相关代码和环境配置都没有20s配置的地方,百思不得其解。通过查找资料发现,我们是通过spray框架对外提供rest接口和访问外部信息。而akka有一套比较完善的超时机制设置,具体见文档说明https://doc.akka.io/docs/akka-http/current/common/timeouts.html
于是,在akka.conf增加如下配置,特别注意,调用第三方rest,等于我们是客户端,需要配置客户端超时机制,定位问题时一直在服务端配置上修改尝试,纠结为什么不生效,很囧~~
spray.can {
  server {
    remote-address-header = on
    parsing.max-content-length = 20m
    idle-timeout = 4min
    request-timeout = 3min
  }
  client.idle-timeout = 4min
  client.request-timeout = 3min
}

经验总结:

1、接触scala时间不长,框架都是前人搭建,虽然scala语言跟java很相似,对于简单的代码故障修修补补还是比较好应付,但是牵涉到一些架构方面的,还是得从源头上理清,对系统进行全面认识理解,才能少走弯路。在最开始定位的时候一直以为是spray框架的相关配置,根本没往akka上想,所以查找资料也绕了个圈。

2、对于小众化的语言框架,百度、bing等能搜索到的资料有限,还是到官网上去查找拓展,更靠谱。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值