마이크로서비스의 하트비트

날아올라돼지야·2024년 8월 28일

이번 챕터에선 Eureka 서버에 마이크로서비스들이 하트비트를 보내는 과정을 알아봅니다. 하트비트는 마이크로서비스가 Eureka 서버와의 연결 상태를 주기적으로 확인하고, 서비스가 여전히 정상적으로 작동 중임을 서버에 알리는 중요한 메커니즘입니다.

1. 마이크로서비스 시작

  • 먼저, 모든 마이크로서비스를 시작합니다.
    • Loans 마이크로서비스를 먼저 시작하고,
    • Cards 마이크로서비스를 이어서 시작한 후,
    • Accounts 마이크로서비스를 마지막으로 시작합니다.
  • 마이크로서비스들이 성공적으로 시작되면, 자동으로 Eureka 서버에 자신들의 인스턴스 정보를 등록합니다.

2. Eureka 대시보드에서 등록 상태 확인

  • Eureka 대시보드 (localhost:8070)로 이동하여, 등록된 마이크로서비스들을 확인할 수 있습니다.
  • 새로고침을 하면 모든 마이크로서비스들이 성공적으로 등록되었음을 확인할 수 있습니다.

3. 하트비트 시도 시 Eureka 서버 종료

  • 마이크로서비스들이 Eureka 서버에 하트비트를 보내는 과정을 확인하기 위해, Eureka 서버를 종료합니다.
  • Eureka 서버가 종료된 상태에서, 마이크로서비스들은 계속해서 하트비트를 보내려고 시도하지만, Eureka 서버가 응답하지 않기 때문에 예외가 발생합니다.
  • 이를 보기 위해 각 마이크로서비스의 콘솔 출력을 확인합니다.

4. 콘솔 로그에서 하트비트 오류 확인

  • Eureka 서버가 종료된 후 약 30초가 지나면, 마이크로서비스의 콘솔 로그에 오류 메시지가 출력됩니다.
  • AccountsApplication의 로그를 보면, 하트비트를 Eureka 서버에 보내려고 시도했으나 실패했다는 예외 메시지가 나타납니다.
    was unable to send Heartbeat to Eureka Server
  • 이와 같은 메시지는 LoansApplicationCardsApplication의 콘솔 로그에서도 동일하게 확인할 수 있습니다.

5. 하트비트 메커니즘의 의미

  • 이 과정은 각 마이크로서비스가 시작되면서 Eureka 서버에 스스로를 등록하고, 정상 작동 중임을 확인하기 위해 30초마다 하트비트를 보내며, 문제가 발생하면 예외가 발생하는지를 확인하는 데모입니다.
  • 이 모든 과정은 수동으로 관리할 필요 없이, Eureka와 마이크로서비스 간의 자동화된 통신을 통해 이루어집니다.

요약

이 강의에서는 Eureka 서버와 마이크로서비스 간의 하트비트 통신 과정을 확인했습니다. 마이크로서비스는 주기적으로 하트비트를 보내어 자신의 상태를 Eureka 서버에 알리며, 서버가 종료되었을 때는 예외가 발생합니다. 이 모든 작업은 자동으로 처리되며, 이를 통해 마이크로서비스와 Eureka 서버 간의 신뢰성을 유지할 수 있습니다.

이제 다음 챕터에서는 Eureka 서버를 활용해 다른 마이크로서비스를 어떻게 발견하고, 부하 분산을 수행하는지에 대해 알아볼 것입니다.

profile
무슨 생각하며 사니

0개의 댓글