Intelli-J 다중 인스턴스 실행

반영환·2023년 7월 8일
0

스프링 이모저모

목록 보기
11/12
post-thumbnail

https://balabala.tistory.com/25

Intelli-J 다중 인스턴스 실행

현재 개발 프로젝트 계층은 다중 모듈 구조입니다.

Edit Configuration

우선 다중 실행 할 프로젝트 파일을 edit configuration에서 선택한다.

적용하고 나면 실행 버튼 밑에 초록색 점이 생긴다.

이후부터 해당 프로젝트는 다중 인스턴스를 실행할 수 있다

Port 문제

다중 인스턴스를 실행할 때 설정 파일에서 port를 보통 지정해주는데, 이때 port값이 중복되면 충돌이 난다.

이때 활용할 수 있는 것이 ${random.value} 환경 변수를 사용하는 것과 server.port = 0 로 포트를 선언하는 것이다.

우리는 server.port=0 만을 사용해야한다. 왜냐하면 랜덤 환경 변수를 사용시 중복된 값이 할당될 가능성이 0이 아니기 때문이다.

Spring Cloud 사용시

만일 server.port = 0 으로 등록시 실제로는 다른 포트에서 실행중이지만 유레카 서버상에서는 하나의 서비스만 작동하는 것으로 보인다. 따라서 유레카 서버에 보여지는 인스턴스의 포트 설정을 랜덤 값으로 해주어야 한다.

eureka:
  client:
    register-with-eureka: true
    fetch-registry: true
    service-url:
      defaultZone: http://localhost:8761/eureka
  instance:
    instance-id: ${spring.application.name}:${spring.application.instance_id:${random.value}}
profile
최고의 오늘을 꿈꾸는 개발자

0개의 댓글