springboot 서비스 간 Feign 호출 시간 초과 솔 루 션 기반
2601 단어 springbootFeign호출 시간 초과
1.원인
프로젝트 기능 수요 의 개발 을 완성 하고 자신의 테스트 와 테스트 팀 의 테스트 를 통과 한 후에 어젯밤 에 온라인 환경 에 정식 적 으로 배치 하여 정식 운행 전의 마지막 테스트 를 실시 했다.그러나 테스트 에서 A 서비스 가 B 서비스 인 터 페 이 스 를 호출 할 때**Feign 을 통 해 호출(사실은 http 요청,A 서비스 가 B 서 비 스 를 호출 할 때 시간 초과 설정 을 하지 않 으 면 A 가 요청 을 한 후에 B 는 즉시 응답 해 야 합 니 다.그렇지 않 으 면 A 서 비 스 는 B 가 연결 이 끊 겼 다 고 생각 합 니 다)***연결 시간 초과 오류,오류 메시지:Read timed out...
2.이유
idea 로 debug 모드 디 버 깅 코드 를 개발 할 때 서비스 간 호출 을 처리 할 때 debug 모드 디 버 깅 코드 가 시간 이 걸 려 서 Fegin 연결 시간 초과 문제 가 발생 했 습 니 다.
3.해결 방안
springboot 프로젝트 application.yml 설정 파일 에 추가
\#크로스 서비스 문제 해결
4、Feign 사용 의 장점
우선 저희 프로젝트 는 SpringCloud 기술 을 사 용 했 고 Feign 은 SpringCloud 기술 과 빈 틈 없 이 통합 할 수 있 습 니 다.또한,Feign 을 http 클 라 이언 트 로 사용 하면 원 격 http 인 터 페 이 스 를 호출 하 는 것 이 로 컬 방법 처럼 간단 해 집 니 다.
5.프로젝트 Feign 사용 방법
(1)우선 Feign 이 의존 하 는 jar 가방 을 도입 해 야 합 니 다.
gradle 의존:
compile "org.springframework.cloud:spring-cloud-netflix-core:1.3.2.RELEASE"
Maven 의존:
(2)properties 프로필 에 호출 할 인터페이스의 URL 경 로 를 설정 합 니 다(도 메 인 이름 부분)
url.xapi=http://xapi.xuebusi.com
(3)호출 할 원 격 인터페이스 설명
6.설명:
(1)@FeignClient 는 Feign 이 제공 하 는 주석 입 니 다.Feign 구성 요소 에 이 인 터 페 이 스 를 프 록 시 할 것 을 알 리 는 데 사 용 됩 니 다.(인 터 페 이 스 를 작성 하지 않 아 도 됩 니 다)사용 자 는@Autowired 를 통 해 직접 주입 할 수 있 습 니 다.
(2)@RequestMapping 은 Spring 이 제공 하 는 주해 입 니 다.여 기 는 이전에 SpringMVC 를 사 용 했 을 때 사 용 했 던 여러 주 해 를 직접 사용 할 수 있 습 니 다.유일 하 게 다른 것 은 주 해 를 인터페이스 에 만 사 용 했 습 니 다.
(3)Feign 과 Eureka 를 조합 하여 사용 할 경우,@FeignClient(name="xapi")는 Feign 이 이 인터페이스 방법 을 호출 할 때 Eureka 에 xapi 라 는 서 비 스 를 조회 하여 서비스 URL 을 받 도록 통지 한 다 는 뜻 입 니 다.
(4)그러나 원 격 http 인 터 페 이 스 는 우리 의 것 이 아 닙 니 다.우 리 는 그것 을 Eureka 에 등록 할 수 없습니다.그래서 우 리 는 url="${url.xapi}"을 사용 하여 호출 할 인터페이스의 url 도 메 인 이름 부분 을 설정 파일 에 직접 기록 합 니 다.
feign 시간 초과 문제 해결 필 살기
1.설정 에 추가:
feign:
hystrix:
enabled: false
2.추가:
hystrix:
command:
default:
execution:
timeout:
enabled: false
3.추가:
ribbon:
ReadTimeout: 10000
ConnectTimeout: 10000
이상 은 개인 적 인 경험 이 므 로 여러분 에 게 참고 가 되 기 를 바 랍 니 다.여러분 들 도 저 희 를 많이 응원 해 주시 기 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin Springboot -- 파트 14 사용 사례 REST로 전환하여 POST로 JSON으로 전환前回 前回 前回 記事 の は は で で で で で で を 使っ 使っ 使っ て て て て て リクエスト を を 受け取り 、 reqeustbody で 、 その リクエスト の ボディ ボディ を を 受け取り 、 関数 内部 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.