Spring Cloud Feign调用异常:feign.RetryableException: connect timed out executing POST http://xxx

本文档记录了在使用Spring Cloud Feign调用服务时遇到的连接超时问题。问题源于服务提供方在Docker容器内注册的IP,导致本地调用方无法ping通。解决方案包括更换能ping通的Nacos注册中心地址或在同一Docker服务中部署调用方。排查步骤涉及检查命名空间一致性及网络连通性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、概述

在使用Spring Cloud Feign接口调用时,发现调用接口链接超时,报错信息如下:

feign.RetryableException: connect timed out executing POST http://xxx

本案例使用 nacos 注册中心

前景提要:提供方的服务已经在开发环境注册中心注册,本地开发服务调用方时,使用开发环境的注册中心,调用服务提供方

二、排查方案

排查一:

如果注册中心含有多个命名空间,则需要保证  调用方、提供方的微服务 在同一个命名空间下

即:spring.cloud.discovery.namespace 保持一致

spring:
     application:
		name: feign-demo
	cloud:
		nacos:
			discovery:
				server-addr: 127.0.0.1:8848
				namespace: dev
			config:
				enabled: false
server:
	port: 80901

如果 nacos 只有一个默认的 public(保留空间),可以不用配置 spring.cloud.discovery.namespace

排查二:


如果 调用方、提供方的微服务 都已经在注册中心成功注册,并且可以查询到 两个微服务信息时,需要排查是否可以 ping 通 两个微服务的注册ip

本地开发调用者ip

 另一个服务提供方注册ip

 

排查发现 ping  服务提供方ip时,请求超时。

 

到这里 feign 接口连接超时问题就找到了,因为服务提供方使用 docker 容器部署,注册ip使用的是容器ip,本地开发的 服务调用方与服务提供方不能够 ping通,导致 connect timed out。

解决方案:

1、更换其他能够 ping 通 服务提供方的 nacos注册中心地址。

2、在同一个docker服务中部署服务调用方

参考:Spring Cloud feign 接口调用,可能出现的各种异常
https://www.iflym.com/index.php/code/202006010001.html
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值