Eureka Server

조현재·2023년 1월 23일
0

MSA

목록 보기
2/17
post-thumbnail

유레카 서버

Eureka는 Netflix에서 제공하는 MSA를 위한 클라우드 오픈 소스이다.
AWS와 같은 Cloud 시스템에서 서비스의 로드 밸런싱이랑 실패처리 등을 유연하게 가져가기 위해 각 서비스들의 IP/Port/InstanceId 를 가지고 있는 REST 기반의 미들웨어 서버이다.

@EnableEurekaServer 를 통하여 등록하고
application.yml 파일에

server:
    port: 8761

spring:
     application:
          name: eureka

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

위와 같은 설정을 하지 않으면 기본적으로 true로 설정되면서
자기자신을 또 등록하는 현상인데 의미 없는 작업이기에 설정해줌
즉, Eureka 서버는 가동은 하지만 자기 자신의 정보를 외부에 있는 다른 마이크로 서비스가
Eureka서버에 정보를 주고 받는 것을 할 필요 없기 때문이다

로드밸런싱

server:
     port: 0

spring:
      application:
           name: user-service

eureka:
     instance:
          instance-id: $ {spring.cloud.client.hostname}:{spring.application.instance_id:{random.value}}
     client:
          register-with-eureka: true
          fetch-registry: true
     service-url:
          defaultZone: http://112.1.1.2:8761/eureka

API Gateway

     1. Ribbon

출처 인프런 Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

     2. Netflix Zuul

출처 인프런 Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

     3. Spring cloud Gateway

Netty 기반의 비동기 통신을 지원하는 형태의 웹 애플리케이션

server:
     port: 8000

eureka:
     client:
          register-with-eureka: false
          fetch-registry: false
     service-url:
          defaultZone: http://112.1.1.2/eureka
spring:
     application:
          name: apigateway-service
     cloud:
          gateway:
               routes:
                - id: first-service
               uri: http://localhost:8081/
               predicates:
                     - Path=/first-service/
               - id: second-service
               uri: http://localhost:8082/
               predicates:
               - Path=/second-service/

profile
내일이 다른

0개의 댓글