인프런 커뮤니티 질문&답변

작성자 없음

작성자 정보가 삭제된 글입니다.

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

무한 대기 설정 질문드립니다.

작성

·

357

0

안녕하세요. 강의를 보고 따로 책으로 학습중인데 
책 내용에 서비스에서 서비스 끼리 호출할때 timeout 설정을 하지 않으면 무한정 대기가 걸릴 수 있다고 하더라고요.

그런데 강의 실습하면서 따로 timeout 설정한 부분이 없었던 거 같았는데, 혹시 제가 놓쳤던 것인지 아니면 의도적으로 설정하지 않으신건지 궁금해서 여쭤봅니다!

감사합니다.

답변 1

0

Dowon Lee님의 프로필 이미지
Dowon Lee
지식공유자

안녕하세요, 이도원입니다. 

답변이 늦어 죄송합니다. 

말씀하신 것 처럼 Connection Timeout이나 Read Timeout을 지정하지 않게 되면, 무한대기로 설정됩니다. 그러나, 이것은 접속하려는 Host에 대해 문제(Thread.sleep으로 확인해 보셔도 됩니다)가 가 생겼을 때의 Timeout이지, 접속 자체에 대한 Timeout은 아닙니다. 만약 해당 Host에 접속 자체가 안되면, UnknownHostException 등의 에러가 발생하고 Connection refused가 될 것입니다. 

확인해 보실려면, user-service에서 RestTemplate을 아래와 같이 설정하시고, order-service에 Thread.sleep 코드를 해당 timeout보다 길게 잡으시면, connection timeout이 발생하는 것을 보실 수 있습니다. 

<user-service>

<order-service>

감사합니다. 

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기