Eureka 서버에 마이크로서비스 등록 : Loans 및 Cards 마이크로서비스 설정

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

Eureka 서버에 마이크로서비스 등록 완료: Loans 및 Cards 마이크로서비스 설정

이 강의에서는 LoansCards 마이크로서비스를 Eureka 서버와 연결하여 등록하는 방법을 다룹니다. 이 과정에서 두 마이크로서비스는 Eureka 서버에 자신을 등록하고, 정기적으로 하트비트 신호를 보냅니다.

1. Eureka Discovery Client 의존성 추가

  • 각 마이크로서비스의 pom.xml 파일에 Eureka Discovery Client 의존성을 추가합니다.

  • spring-cloud-starter-netflix-eureka-client 의존성을 추가합니다.

    <!-- pom.xml -->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
    </dependency>

2. application.yml 파일에 Eureka 관련 속성 추가

  • application.yml 파일에 필요한 Eureka 관련 속성을 추가합니다. 예를 들어, cards 마이크로서비스에 대해 다음과 같은 설정을 추가할 수 있습니다.

    # application.yml (Cards)
    eureka:
      instance:
        prefer-ip-address: true
      client:
        fetch-registry: true
        register-with-eureka: true
        service-url:
          defaultZone: http://localhost:8070/eureka
    
    info:
      app:
        name: Cards
        description: EazyBank Cards Application
        version: 1.0.0
    
    management:
      endpoints:
        web:
          exposure:
            include: shutdown,info
      info:
        env:
          enabled: true
      endpoint:
        shutdown:
          enabled: true
  • Loans 마이크로서비스의 경우도 동일한 설정을 적용하되, info.app.nameinfo.app.descriptionLoans에 맞게 수정합니다.

    # application.yml (Loans)
    eureka:
      instance:
        prefer-ip-address: true
      client:
        fetch-registry: true
        register-with-eureka: true
        service-url:
          defaultZone: http://localhost:8070/eureka
    
    info:
      app:
        name: Loans
        description: EazyBank Loans Application
        version: 1.0.0
    
    management:
      endpoints:
        web:
          exposure:
            include: shutdown,info
      info:
        env:
          enabled: true
      endpoint:
        shutdown:
          enabled: true

3. Loans 및 Cards 마이크로서비스 빌드 및 실행

  • 모든 설정이 완료되면, Maven 빌드를 실행하여 프로젝트를 컴파일합니다.
  • 각 마이크로서비스를 디버그 모드에서 실행합니다. 이때 Config ServerEureka Server가 먼저 실행되어 있어야 합니다.

4. Eureka 대시보드에서 등록 확인

  • 브라우저에서 localhost:8070으로 접속하여 Eureka 대시보드를 확인합니다.
  • cardsloans 마이크로서비스가 UP 상태로 성공적으로 등록된 것을 확인할 수 있습니다.
  • 각 링크를 클릭하면 애플리케이션의 정보(info.app.name, info.app.description, info.app.version)를 확인할 수 있습니다.

5. Eureka 서버 API를 통한 마이크로서비스 정보 확인

  • 다음 URL을 통해 Eureka 서버에 등록된 모든 마이크로서비스 정보를 확인할 수 있습니다.

    • XML 포맷: http://localhost:8070/eureka/apps
    • JSON 포맷: Postman에서 Accept: application/json 헤더를 추가한 후 요청
    // JSON 형식의 예시 응답
    {
      "applications": {
        "versions__delta": "1",
        "apps__hashcode": "UP_1_...",
        "application": [
          {
            "name": "CARDS",
            "instance": [
              {
                "instanceId": "localhost:cards:9000",
                "hostName": "localhost",
                "ipAddr": "127.0.0.1",
                "status": "UP",
                "port": {"$": 9000, "@enabled": "true"},
                "dataCenterInfo": {"@class": "com.netflix.appinfo.InstanceInfo$DefaultDataCenterInfo", "name": "MyOwn"},
                "metadata": {
                  "management.port": "9000"
                }
              }
            ]
          },
          ...
        ]
      }
    }

요약

이 강의에서는 Loans 및 Cards 마이크로서비스를 Eureka 서버에 등록하는 방법을 설명했습니다. 이제 각 마이크로서비스는 Eureka 서버에 성공적으로 등록되었으며, 다른 마이크로서비스와의 내부 통신을 위한 기반이 마련되었습니다. 이 설정을 통해 전체 마이크로서비스 네트워크에서 서비스 발견 및 등록이 자동으로 관리됩니다.

profile
무슨 생각하며 사니

0개의 댓글