1. application.yml 주의사항
eureka:
client:
service-url:
defaultZone: http://localhost:8761/eureka/,
http://localhost:8762/eureka/
- defaultZone을 default-zone으로 쓰면 안된다...
설명링크: cloud.spring.io/spring-cloud-netflix/reference/html/#registering-with-eureka
>>> The defaultZone property is case sensitive and requires camel case because the serviceUrl property is a Map<String, String>. Therefore, the defaultZone property does not follow the normal Spring Boot snake-case convention of default-zone.
나 같은 놈 때문에 공식문서에 아주 뚜렷하게 강조해놓은것 같다...
2. bootstrap.yml에 대하여
- config-server에서 bootstrap.yml을 쓰는 이유
설명링크: stackoverflow question - But... SpringBoot 2.4부터 bootstrap.yml이 deprecated 되었음
설명링크1: stackoverflow question
설명링크2: earth-95.tistory.com/57
3. Spring-Cloud-Config
spring-cloud-config git 설정
spring.cloud.config.server.git.search-paths: 구성Repo 디렉토리 참조
spring.cloud.config.server.git.default-label: 구성Repo 라벨/브랜치 참조
spring.cloud.config.server.git.username: 구성Repo 접근을 위한 아이디(Private)
spring.cloud.config.server.git.password: 구성Repo 접근을 위한 패스워드(Private)
구성 데이터 사용하려면 spring-cloud-starter-config 의존성 추가 후
spring.cloud.config.uri=http://localhost:8888 지정... 해봤는데 안된다!
위에서 써놨듯이 springboot 2.4.0부터 bootstrap이 기본적으로 활성화 되지 않는다.
이를 해결하기 위해 2가지 방법이 있는데 이는 아래 글을 참조하면 된다.
설명링크: stackoverflow question
1) Use Spring Boot 2.4.0 Config Data API (Preferred)
2.4에서 새롭게 추가 된 spring.config.import와 기타등등을 세팅해서 해결할 수 있다.
2) Legacy Processing:
default에서 제외 된 bootstrap을 활성화시켜서 기존 방식(Legacy)의 호환성을 지키며 활용 가능하다.
spring.io/blog/2020/10/07/spring-cloud-2020-0-0-m4-aka-ilford-is-available
일단 bootstrap을 활성화시키고 뒷부분에서 Vault를 배우면 한번 전환해봐야겠다.
vault 개발모드 구동 명령어:
vault server -dev -dev-root-token-id=roottoken
vault secrets disable secret
vault secrets enable -path=secret kv
vault write secret/application spring.data.mongodb.password=s3cr3t spring.data.mongodb.username=tacocloud
export VAULT_ADDR='http://127.0.0.1:8200'
vault status
vault read secret/application
Configuration Properties 수동 리프레시 endpoint를 활성화시키는 spring-boot-actuator application.properties 설정
# Spring Boot Actuator
management.endpoints.web.exposure.include=refresh
Terminal에서 JSON 이쁘게 표기하기: curl ... | jq
'Backend' 카테고리의 다른 글
JPA (2) - 웹 계층 개발 (0) | 2021.04.11 |
---|---|
JPA (1) - 도메인 개발 (0) | 2021.04.11 |
Spring Core (4) AOP (0) | 2020.07.03 |
Spring Core (3) Abstraction (0) | 2020.07.02 |
Spring Core (2) IoC - 2 (0) | 2020.06.30 |