Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 깃허브 방문자
- maven 오류
- GitHub profile
- 깃허브 프로필
- Sanner와 BufferedReader의 차이점
- 프라이탁 알림봇
- 프라이탁
- hashcode
- 파이썬 설치
- 분산락
- 리드미 꾸미기
- pip업그레이드
- 윈도우10에 파이썬 설치
- 레디스
- setting.xml
- Redisson
- 파이썬 설치하기
- 깃허브 리드미
- 깃허브
- 깃허브 리드미 꾸미기
- 깃허브 뱃지
- 파이썬 pip
- 동등성
- Redis
- 알고리즘 입력받는 값
- 프라이탁 파이썬
- Visual Studio Code 파이썬
- spring-boot-starter-parent
- visual studio code
- 신규 프로젝트 생성후 빌드시 오류
Archives
- Today
- Total
yeo72.devlog
[Spring Cloud] Eureka server 와 Eureka Client 설정 - application yml 본문
Study/Java
[Spring Cloud] Eureka server 와 Eureka Client 설정 - application yml
짱이08 2023. 3. 14. 19:08해당 포스팅은 Sprign Cloud로 개발하는 마이크로서비스 애플리케이션의 강의를 듣고 요약 정리한 것입니다.
application.yml 설정
spring cloud 에서 discovery를 구성
Eureka Server 와 Eureka Client 두가지로 나누고
아래 설정은 Eureka 클라이언트와 Eureka 서버의 상호작용 방식을 지정한다.
Eureka Server
eureka:
client:
register-with-eureka: false
fetch-registry: false
- fetch-registry
Eureka 서버에 등록된 인스턴스의 목록을 가져와 로컬 캐시에 저장할지 말지 여부를 결정한다 - register-with-eureka
Eureka 서버에 등록할 지 여부를 결정한다
Eureka Server로 사용하는 서비스의 경우 해당 설정이 필요 없기 때문에 false로 처리한다
반면 Eureka client인 user-service는 서버에 등록 및 저장이 필요하므로 true 로 처리한다.
아래의 코드를 확인하자
Eureka Client
server:
port: 0
spring:
application:
name: user-service
eureka:
instance:
instance-id: ${spring.cloud.client.hostname}:${spring.application.instance_id:${random.value}}
client:
fetch-registry: true
register-with-eureka: true
service-url:
defaultZone: http://127.0.0.1:8761/eureka
- service-url
Eureka server의 port 번호를 써준다 - server.port : 0
위 같이 지정하면 랜덤 포트를 사용하는 것을 의미한다
그리고 여러가지 방식으로 포트만 변경해서 하나의 해당 클라이언트 서비스를 eureka 서버에 등록되었는지 확인 할 수 있다.
이때 서버의 포트를 0(랜덤) 으로 두고 서버를 여러개 띄우면 Eureka server의 대시보드에는 하나의 인스턴스 밖에 있지 않는다
랜덤포트를 사용하여 서버를 띄웠는데도 yml에 설정된 server.port :0 으로 대시보드에 나타난다.
이렇게 하나의 인스턴스가 아닌 여러개의 인스턴스를 대시보드에 나타내기 위해서는 각 인스턴스 마다의 이름을 지정해 주면된다
- eureka.instance.instance-id
위와 같이 설정을 하면 각 인스턴스의 이름이 지정 된다.
하나씩 살펴보자면
${spring.cloud.client.hostname} 은 현재 인스턴스 호스트의 이름
${spring.application.instance_id:${random.value}} 은 instance-id가 설정되어있으면 해당 값을 사용하고 설정되어있지 않으면
${random.value}} 를 사용하여 무작위로 값을 지정한다
'Study > Java' 카테고리의 다른 글
[JAVA] 상속과 포함관계 (0) | 2023.09.12 |
---|---|
[JAVA]JVM 동작원리 (0) | 2023.09.10 |
[Java]Scanner 와 BufferedReader의 차이 (0) | 2023.03.15 |
[Java] valueOf() 함수와 toString() 함수의 차이 (0) | 2022.04.19 |
[Java] String.toCharArray() (0) | 2022.04.19 |