• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

Gateway와 Discovery를 사용한 무중단 서비스 방법

22.09.20 23:09 작성 조회수 432

1

안녕하세요 선생님? 강의 정말 잘보고있습니다. 감사합니다. 다름이 아니라 강의 내용처럼 따라서 잘구성해보았습니다. 잘돌아갑니다. 그런데 해결하고 싶은게 있습니다.

동일 서비스 중 하나가 중단됬을때 Gateway가 LB방식이라 중단된줄 모르고 중단된 서비스로 요청이 들어갑니다. 그러다보니 Connection 오류가 납니다. 대략 30초에서 1분 이후부터는 살아있는 서비스로만 요청이가서 잘 동작합니다. 만약 운영중이라면 30초에서 1분동안은 서비스가 불안할텐데 어떡하면 해결할 수 있을까요?

시스템 구성은 다음과 같습니다.

GW <-> Discovery <-> 동일서비스 #3개(만약 #2번이 다운됬을때 #2번 서비스가 호출되어 서비스가 됬다 안됬다 하는 현상발생)

좋은 방법이나 예제가 있으면 감사하겠습니다.

 

답변 1

답변을 작성해보세요.

0

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

Eureka Server에서 클라이언트(인스턴스)로부터의 연결이 끊겼다는 것을 인식할 때까지 최대 30초의 시간이 소요될 수 있습니다. 이건은 Eureka Server의 기본 설정값이기 때문에 이 설정을 변경하실 수 있습니다.

eureka.client.registry-fetch-interval-seconds: 30 (30초, Eureka Server에서 레지스트리 정보를 가져오는 빈도)

eureka.instance.lease-renewal-interval-in-seconds: 30 (30초, Eureka Client가 활성 상태임을 알려주기 위해 Eureka Server에게 Heartbeats를 보내야 하는 빈도, 지정된 기간 동안 Heartbeats가 수신되지 않으면 인스턴스에 대한 Traffic을 허용하지 않고 제거)

https://cloud.spring.io/spring-cloud-static/Dalston.SR5/multi/multi__appendix_compendium_of_configuration_properties.html

감사합니다.

채널톡 아이콘