Spring Cloud Context 내용을 정리하였습니다.
The Boostrap Application Context
Context는 외부 configuration 설정을 가져오는 역할과 로컬 configuration 설정을 가져와 복호화하는 역할을 합니다. Main context과 bootstrap context가 있습니다. 일반적인 applicationl.yaml과 다르게 bootstrap.yaml이라는 파일을 만들어서 사용하며 main context과 분리하여 외부 configuration 설정을 관리할 수 있습니다.
- spring.application.name : 애플리케이션의 context ID
- spring.profiles.active : profile 설정
- spring.cloud.bootstrap.enabled : bootstrap 활성 여부
Overriding the Values of Remote Properties
원격에 있는 설정이 애플리케이션에 추가하고 싶을 경우가 있습니다. 예를 들어, Spring Cloud Config Server나 Consul Server에서 설정을 가져올 수 있습니다. 이때 원격 설정 파일에 아래와 같은 설정을 넣을 수 있습니다.
- spring.cloud.config.allow-override (true) : true이면, 외부 설정으로 로컬 설정을 override 할 수 있게 함
- 위 설정이 true일 경우, 세부 설정
- spring.cloud.config.overrideNone (false) : true이면, 원격 설정을 로컬 설정에 덮어씌울 수 있음
- spring.cloud.config.override-system-properties (true) : true이면, 시스템 설정을 덮어씌울 수 있음
Refresh Scope
@RefreshScope 애노테이션을 이용하여 빈을 새로고침할 수 있습니다. 빈으로 설정한 클래스 위에 @RefreshScope 애노테이션을 붙일 수 있습니다. 그리고 /actuactor/refresh를 이용하여 새로고침하면 변경한 config-server의 내용을 애플리케이션에 적용할 수 있습니다.
Encryption and Decryption
Spring config server에 암호화 키를 이용하여 소중한 데이터를 암호화하여 config에 설정할 수 있습니다. 그리고 해당 config를 사용하는 애플리케이션에서 같은 암호화 키를 이용하여 해당 데이터를 복호화할 수 있습니다. 사용 방법은 이 블로그에서 확인할 수 있습니다.
Endpoints
스프링 부트 애츄에이터 애플리케이션에서는 관리를 위한 몇 가지 엔드포인트를 제공합니다.
- /actuator/env : Enviroment를 업데이트하고 @ConfigurationProperties와 로그 레벨을 리바인드 합니다.
- /actuator/refresh : @RefreshScope 된 빈들과 부트 스트랩 context를 다시 로드 합니다.
- /actuator/restart : ApplicationContext를 종료하고 다시 시작합니다.
'IT > Spring Cloud' 카테고리의 다른 글
컨테이너 가상화 (0) | 2022.02.05 |
---|---|
모니터링 - Prometheus, Grafana (0) | 2022.02.04 |
모니터링 - Micrometer (0) | 2022.02.04 |
Zipkin - 분산 추적 (0) | 2022.01.30 |
CircuitBreaker (0) | 2022.01.30 |