[Spring Cloud] Netflix Euraka Server

jsieon97·2023년 3월 8일
0

Netflix Euraka의 역할

클라이언트가 Service Discovery로 요청을 보내면 API Gateway를 거쳐 전달된다.

  • Service Discovery
    • Key, Value로 저장된 데이터를 등록, 검색 등을 맡는다.
    • 요청정보에 따라서 어떤 서비스를 실행할지 알려주는 역할.

Springboot Netflix Euraka Server 프로젝트 생성

Dependencies에서 Spring Cloud Discovery > Eureka Server 를 체크하고 생성한다

@EnableEurekaServer

어노테이션을 통해 EurekaServer를 이용해 서버를 기동하게 할 수 있다.

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

@SpringBootApplication
@EnableEurekaServer
public class DiscoveryserviceApplication {

    public static void main(String[] args) {
        SpringApplication.run(DiscoveryserviceApplication.class, args);
    }

}

application.yml 설정

server:
  port: 8761

spring:
  application:
    name: discoveryservice


eureka:
  client:
    register-with-eureka: false
    fetch-registry: false

server.port : 실행포트 번호
spring.application.name : 마이크로서비스를 담당하는 서비스의 고유한 ID 네임을 의미
eureka.client.register-with-eureka, eureka.client.fetch-registry : 유레카 서버로부터 인스턴스들의 정보를 주기적으로 가져올 것인지를 설정하는 속성.

Euraka Server 확인하기

프로젝트 실행 후 localhost:8761 주소로 접속
Eureka 대시보드가 나오고
MicroService로 개별되어있는 Application 리스트를 확인할 수 있다.

Springboot Netflix Euraka Client 프로젝트 생성

Dependencies에서 Spring Cloud Discovery > Eureka Discovery Client 를 체크하고 생성한다.
서비스 유지에 필요한 의존성이 있으면 더 체크한다 (lombok, devtools 등)

@EnableDiscoveryClient

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

@SpringBootApplication
@EnableDiscoveryClient
public class UserServiceApplication {

    public static void main(String[] args) {
        SpringApplication.run(UserServiceApplication.class, args);
    }

}

application.yml 설정

// user-service의 application.yml

server:
  port: 9001

spring:
  application:
    name: user-service

eureka:
  client:
    register-with-eureka: true
    fetch-registry: true
    service-url:
      defaultZone: http://127.0.0.1:8761/eureka

Server쪽 포트를 defaultZone으로 설정한다.

Eureka 대시보드 체크


application.yml에 설정한 이름대로 user-service가 서버에 추가된걸 확인할 수 있다.

profile
개발자로써 성장하는 방법

0개의 댓글