코드 6-3에서 살펴볼 주요 프로퍼티는 다음과 같다.
• server.port: 기본 포트를 설정한다.
• eureka.instance.hostname: 유레카 서비스의 인스턴스 호스트 이름을 설정한다.
• eureka.client.registerWithEureka: 스프링 부트로 된 유레카 애플리케이션이 시작할 때 컨피그 서버를 유레카에 등록하지 않도록 설정한다.
• eureka.client.fetchRegistry: 이 값을 false로 지정하면 유레카 서비스가 시작할 때 레지스트리 정보를 로컬에 캐싱하지 않도록 설정한다. 유레카 클라이언트를 실행할 때 유레카에 등록할 스프링 부트 서비스를 위한 이 값을 변경할 수 있다.
• eureka.client.serviceUrl.defaultZone: 모든 클라이언트에 대한 서비스 URL을 제공한다. URL은 eureka.instance.hostname과 server.port 프로퍼티 두 개의 조합으로 되어 있다.
• eureka.server.waitTimeInMsWhenSyncEmpty: 서버가 요청을 받기 전 대기 시간을 설정한다.
코드 6-3의 마지막 프로퍼티인 eureka.server.waitTimeInMsWhenSyncEmpty는 시작하기 전 대기할 시간을 밀리초로 나타낸다. 서비스를 로컬에서 테스트할 때 유레카가 등록된 서비스를 바로 알리지 않기 때문에 이 프로퍼티를 사용해야 한다. 기본적으로 모든 서비스에 등록할 기회를 주고자 유레카가 알리기 전에 5분을 기다린다. 로컬 테스트에서 이 프로퍼티를 사용하면 유레카 서비스를 시작하고 등록된 서비스를 표시하는 데 걸리는 시간을 단축하기에 유용하다.
Note ≣
유레카에 등록된 서비스가 표시되는 데 최대 30초가 소요된다. 유레카는 서비스를 사용할 준비가 되었다고 알리기 전에 10초 간격으로 연속 3회 ping을 보내서 상태 정보를 확인해야 하기 때문이다. 서비스를 배포하고 테스트할 때 이 점을 고려하기 바란다.