✅ 분산 시스템 :
✅ 파일 경로 : file:// 예약어를 통해 파일&디렉토리 경로에서 검색함을
✅ 암호화 관련 - 대칭 & 비대칭 키
대칭키 : 암호화 -복호화가 동일한 키로 가능한 키 Ex) 시저 암호
비대칭키 : 암호화 - 복호화가 다른 키로 가능한 키 Ex) 공개키 - 비공개키
🕶️ 참고 : mysql 연동 설정 시,
driver-class-name : com.mysql.cj.jdbc.Driver # 8버전 이상
diver-class-name : com.mysql.jdbc.Driver # 구버전
Spring Cloud Config는 분산 시스템을 위한 외부 구성 관리를 제공한다. 이를 통해 애플리케이션의 설정을 중앙 집중식으로 관리하고, 서비스 간에 설정을 공유할 수 있다.
spring-cloud-config-server 의존을 추가한 프로젝트를 생성해준다.
8888
로 등록한다.file : //
: 파일(& 디렉토리) 시스템에서 해당 경로를 찾으라고 지정.spring:
cloud:
config:
server:
git:
uri: file://로컬에 저장된 절대 경로
127.0.0.1:포트번호/yml 파일명/default
으로 입력하면 해당 yml 파일이 조회된다면 연동 성공.파일명-프로필명.yml
로 입력해주면 된다.127.0.0.1:포트번호/yml 파일명/프로필명
으로 입력하면 조회 가능하다.[Spring Cloud Config 공식 문서](Spring Cloud Config - https://docs.spring.io/spring-cloud-config/docs/current/reference/html/)
spring-cloud-starter-config
및 spring-cloud-starter-bootstrap
의존 추가.bootstrap.yml
또는 bootstrap.properties
파일을 사용하여 Config 서버를 설정한다. 이 파일은 애플리케이션이 시작될 때 가장 먼저 읽힌다.spring:
cloud:
config:
uri: spring-cloud-config 서버 포트
name: 설정 정보가 담긴 yml 파일명(ex, db.yml -> db)
git init
을 통해 생성 후 commit 까지 해주면 된다.@Value
어노테이션 또는 Environment
객체를 통해 사용할 수 있다.Spring Cloud Config는 분산 시스템에서 설정 관리를 효율적으로 처리하고, 변경 사항을 동적으로 적용할 수 있도록 도와준다.
로컬에 저장하는 방식은 가상 PC 생성 후 이 서버를 config 서버로 설정하여 배포하면 된다.
하지만, 이러한 경우 변동 사항이 발생하였을 경우 가상 PC에 접속하여 코드를 수정해야 한다.
원격 레포를 이용한 처리를 사용하면 이러한 문제점을 해결할 수 있다.
spring:
cloud:
config:
server:
git:
uri: 레포지토리 주소
application.yml 파일을 아래와 같이 작성
spring:
cloud:
config:
server:
git:
uri: 레포지토리 주소
username: 깃허브 계정명 # 퍼블릭에서는 불필요
password: 깃허브 패스워드 # 퍼블릭에서는 불필요
이 후 username과 password는 암호화 해준다.
암호화에 필요한 키는 VM option을 통해서
전달해주면, 빌드 시 해당 키로 검증이 이뤄지게 되어 보안이 올라간다.