작성자 없음
작성자 정보가 삭제된 글입니다.
작성
·
357
0
안녕하세요. 강의를 보고 따로 책으로 학습중인데
책 내용에 서비스에서 서비스 끼리 호출할때 timeout 설정을 하지 않으면 무한정 대기가 걸릴 수 있다고 하더라고요.
그런데 강의 실습하면서 따로 timeout 설정한 부분이 없었던 거 같았는데, 혹시 제가 놓쳤던 것인지 아니면 의도적으로 설정하지 않으신건지 궁금해서 여쭤봅니다!
감사합니다.
답변 1
0
안녕하세요, 이도원입니다.
답변이 늦어 죄송합니다.
말씀하신 것 처럼 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>
감사합니다.