Netflix eureka

Choi jeongmin·2024년 12월 6일
0

eureka

목록 보기
1/1
  1. eureka-server
    InteliJ project build
    : Spring Web / Eureka Server

어플리케이션에 @EnableEurekaServer추가

server:
    port: 8761 #Eureka 기본 포트

spring:
    application:
        name: eureka-server # 서비스 간의 식별을 위한 이름
        
eureka:
    client:
        register-with-eureka: false # 단일 유레카서버 - false / 유레카 서버 증설 시 (트래픽이 늘어나면) true
        fetch-registry: false # 다른 서버와 동기화 하지 않음 (단일 서버) / 유레카서버끼리 통신을 하려면 true
    server:
        enable-self-preservation: false # 자기 보호 기능    
        

2.api-gateway

InteliJ project build
: Reactive Gateway / Eureak Discovery Client / Spring Boot Devtools

server:
    port: 8080

spring:
    cloud:
        gateway:
            routes:
                - id: user-service
                  uri: lb://USER-SERVICE
                  predicates:
                    - Path=/user/**
                - id: order-service
                  uri: lb://ORDER-SERVICE
                  predicates:
                    - Path=/order/**

Eureka server에 관한 내용은 bootstrap.yml 에서 설정해야한다.

eureka:
    client:
        service-url:
            defaultZone: http://localhost:8761/eureka/
    instance:
        prefer-ip-address: true # DNS 없이 ip면 true
  1. user-service

InteliJ project build
: Eureak Discovery Client / Spring Web / Spring Boot Devtools

server:
    port: 8081

spring:
    application:
        name: user-service # Gateway 에 설정한 이름이랑 같아야함

eureka:
    client:
        service-url:
            defaultZone: http://localhost:8761/eureka/ # 유레카서버 알려줌
  1. order-service

InteliJ project build
: Eureak Discovery Client / Spring Web

server:
    port: 8082

spring:
    application:
        name: order-service

eureka:
    client:
        service-url:
            defaultZone: http://localhost:8761/eureka/
  1. order-service2
    InteliJ project build
    : Eureak Discovery Client / Spring Web
server:
    port: 8083

spring:
    application:
        name: order-service

eureka:
    client:
        service-url:
            defaultZone: http://localhost:8761/eureka/spring.application.name=order-service2

-> 똑같은 이름의 서버를 띄우면 서로 번갈아가면서 동작한다.

** 실행순서 - eureka server 가 제일 먼저 실행되야한다.
-> user-service / order-service 프로젝트 내에 컨트롤러 만들어서 gateway 포트로 접속해서 요청 전송되는지 확인

0개의 댓글