TIL

[TIL] Eureka에 대하여

봄봄로그 2023. 5. 5. 22:48

회사에서 운영하는 프로젝트들이 유레카에 붙어있는데, 유레카에 붙어있다 라고 표현하면서도 무엇인지 잘 몰랐다.

그런데 최근에 몇달간 유레카에 대한 이슈들이 좀 생겨나면서 좀 더 자세히 알아두면 좋을 것 같아 흥미가 생겼다.

하지만 블로그들은 ㅠㅠ 다들 똑똑한 사람들만 있어서 내 눈높히를 충족해주지 못했다.........

그래서 챗지피티의 도움을 조금 받아 정리해보았다. 고마워요 챗지피티! 🫶🏻

 

아래는 챗지피티를 통해 얻은 정보들이다. 

 

💡 Eureka란?

유레카는 분산 시스템에서 서비스 디스커버리와 로드 밸런싱을 담당하는 오픈 소스 솔루션입니다. 이를 사용하는 이유는 여러 가지가 있을 수 있지만, 다음과 같은 이유들이 일반적입니다.

  1. 서비스 디스커버리: 유레카는 마이크로서비스 아키텍처에서 서비스 디스커버리를 제공합니다. 이는 각 서비스가 자동으로 등록되고 검색 가능해지므로, 서비스 간의 의존성 관리가 간단해지고 시스템 전반적으로 유연성이 높아집니다.
  2. 로드 밸런싱: 유레카는 로드 밸런싱 기능도 제공합니다. 이는 클라이언트 요청이 분산되어 서비스의 부하를 분산시키므로, 시스템 전반적인 성능 향상에 도움이 됩니다.
  3. 확장성: 유레카는 수평적 확장성이 높은 아키텍처로 설계되어 있습니다. 이는 시스템이 더 많은 서비스 인스턴스를 수용할 수 있으므로, 대규모 시스템에서도 유용합니다.
  4. 고가용성: 유레카는 고가용성을 보장하는 클러스터링 기능을 제공합니다. 이를 통해, 유레카 서버의 장애나 다운타임 등이 발생해도 서비스 디스커버리와 로드 밸런싱 기능이 유지될 수 있습니다.
  5. 개발 및 유지보수 비용 절감: 유레카는 오픈 소스이기 때문에 무료로 사용할 수 있습니다. 또한, 개발자들이 자주 사용하는 프레임워크와의 호환성이 높아서 개발과 유지보수 비용을 줄일 수 있습니다.
  6. 다양한 플랫폼 지원: 유레카는 다양한 플랫폼과 언어를 지원하기 때문에, 다양한 개발환경에서 사용하기 적합합니다.
  7. 오픈 소스: 유레카는 오픈 소스로 개발되어 있으므로, 무료로 사용할 수 있으며, 커뮤니티의 지원과 개발자들의 참여로 계속 발전해나갈 수 있습니다.

💡 Eureka를 통해 확인할 수 있는 정보

  1. 서비스 인스턴스 정보: 유레카는 등록된 서비스 인스턴스의 상세 정보를 확인할 수 있습니다. 이는 서비스의 위치, 상태, 메타데이터 등을 포함합니다.
  2. 서비스 디스커버리 정보: 유레카는 등록된 서비스 인스턴스를 검색하고 관리하기 쉽게 서비스 디스커버리 기능을 제공합니다. 이를 통해, 서비스 간의 의존성을 파악하고, 요청을 처리할 수 있는 서비스 인스턴스를 선택할 수 있습니다.
  3. 로드 밸런싱 정보: 유레카는 클라이언트 요청을 분산하여 로드 밸런싱 기능을 제공합니다. 이를 통해, 서비스 인스턴스의 부하를 분산시키고, 시스템 전체적인 성능을 향상시킬 수 있습니다.
  4. 서비스 상태 정보: 유레카는 등록된 서비스 인스턴스의 상태를 모니터링할 수 있습니다. 이를 통해, 서비스 인스턴스의 동작 상태를 파악하고, 문제가 발생할 경우 적절한 조치를 취할 수 있습니다.
  5. 서비스 메타데이터 정보: 유레카는 등록된 서비스 인스턴스의 메타데이터 정보를 확인할 수 있습니다. 이를 통해, 서비스 인스턴스의 버전, 환경 설정 등을 파악하고, 서비스 관리에 활용할 수 있습니다.

 

  • 프로젝트 소스에서
    • application.yml
    • spring.application.name= bombom
  • 도메인주소의 context path에서 이름을 사용하게 되는 부분