https://balabala.tistory.com/25
현재 개발 프로젝트 계층은 다중 모듈 구조입니다.
우선 다중 실행 할 프로젝트 파일을 edit configuration에서 선택한다.
적용하고 나면 실행 버튼 밑에 초록색 점이 생긴다.
이후부터 해당 프로젝트는 다중 인스턴스를 실행할 수 있다
다중 인스턴스를 실행할 때 설정 파일에서 port를 보통 지정해주는데, 이때 port값이 중복되면 충돌이 난다.
이때 활용할 수 있는 것이 ${random.value}
환경 변수를 사용하는 것과 server.port = 0
로 포트를 선언하는 것이다.
우리는 server.port=0
만을 사용해야한다. 왜냐하면 랜덤 환경 변수를 사용시 중복된 값이 할당될 가능성이 0이 아니기 때문이다.
만일 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}}