본문 바로가기

Backend

Spring Cloud 일단 기록하기

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에 대하여

 

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