본문으로 바로가기

[MSA ERROR] Busrefresh 명령어 시 랜덤으로 Instance Down 이

category MSA 2023. 1. 15. 19:23

이슈

Busrefresh 명령어 시 랜덤으로 Eureka Client (Instance)가 Down 되는 이슈가 있다.

 

첫번째 BusRefresh 요청

 => BBB, DDD API 가 Down 되었다.

두번째 BusRefresh 요청

 => AAA API만 Down 되었다. 

 

원인 (추측)

아무 API에 Busrefresh 요청 시 모든 Eureka Client의 Config가 Refresh 되는 기능인데

Refresh하면서 재기동하는 순간 시간이 걸릴 것이고

그 시간이 Eureka Server에서 Down으로 체크하는 시간보다 길어져서 Down으로 인식하는 것 같다.

 

또 특이점은 CCC, EEE는 몇 번을 해도 Down 되지 않았다.

아마 Refresh 후 Up되는 시간이 오래 걸리는 API들만 랜덤으로 Down이 되는 것 같다. 

 

해결 방법 (임시)

Busrefresh 를 사용하지 않고 그냥 refresh 를 사용해주었다.

(gateway 의 config를 변경하고 싶었으므로 gateway에만 refresh 해주었다.)

 

변경 전 요청

http://[gateway ip]:port/actuator/busrefresh

 

변경 후 요청

http://[gateway ip]:port/actuator/refresh

 

gateway 만 refresh되고 다른  API에는 영향이 없었다.

 

근본적인 해결 방법 (작업중)

나중에 서비스가 많아지면 busrefresh로 한번에 refresh 해야되는 경우도 생길 것이다. 그때를 대비하여 추가 확인이 필요하다.

 

1. Eureka Server에서 Down 체크 타임이 몇으로 설정되어 있는 지 확인한다.

  • 해당 시간을 늘리는 방안으로 가야할 것 같다.

2. Busrefresh 가 실제 API 재기동을 뜻하는지 알아보아야 한다.

  • 실제 그렇다면 Busrefresh든, refresh 든 위험한 작업이다.
  • 나는 그냥 Config 만 새롭게 갱신하는 것으로 알고 있다. 아직은.