-
spring cloud config (server,client,watcher,java) 구현하기 1WEB/BACK 2024. 7. 24. 13:46반응형
Spring cloud config : 시스템 운영중에 배포없이 설정값을 변경할 수 있는 기술로 client 와 server 간의 구조로 되어있다.
공식 사이트 : https://docs.spring.io/spring-cloud-config/docs/current/reference/html/
spring cloud config에서는 Backend 저장소로 다양한 시스템을 지원한다.
예) git, file system, vault, JDBC, aws s3, redis, crudHub
많은곳에서 git을 이용하니 여기서는 JDBC를 사용하겠다.
실습 개발환경
springboot 2.7.14
java 1.8
spring cloud config server 3.18
spring cloud config 는 version 에 민감해서 https://github.com/spring-cloud/spring-cloud-release/wiki/Spring-Cloud-2021.0-Release-Notes 를 참고해서 필요한 버전을 사요하도록 하자.
spring cloud config server 구현
springboot project를 새로 생성해준다.
1. pom.xml에 필요 dependency 추가
<!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-config-server --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-server</artifactId> </dependency>
2. @EnableConfigServer 어노테이션 메인에 추가
3. 필요한 테이블 생성
CREATE TABLE spring_cloud.config_property ( id serial primary key, created_at timestamp, application character varying(50) COLLATE pg_catalog."default", profile character varying(50) COLLATE pg_catalog."default", label character varying(50) COLLATE pg_catalog."default", key character varying(50) COLLATE pg_catalog."default", value character varying(500) COLLATE pg_catalog."default" ); INSERT INTO spring_cloud.config_property(created_at, application, profile, label, key, value) VALUES(NOW(), 'spring-cloud-config-client', 'dev', '0.0.1', 'message', 'this is my mesg'); INSERT INTO spring_cloud.config_property(created_at, application, profile, label, key, value) VALUES(NOW(), 'spring-cloud-config-client', 'dev', 'latest', 'myconfig1', 'this is my config value');
4. application.properties 설정
....db 연동 코드.... ... ... ... spring.application.name=spring_cloud_config_server spring.datasource.driver-class-name=org.postgresql.Driver spring.profiles.active=jdbc spring.cloud.config.server.jdbc.sql=SELECT key,value,label,created_at,application FROM spring_cloud.config_property WHERE APPLICATION=? and PROFILE=? and LABEL=? spring.cloud.config.server.jdbc.order=0
5. 테스트
cloud config server 의존성을 추가하면 해당 라이브러리에서 미리 정의 되어있는 로직으로 api 호출 테스트가 가능하다.
다음 포스팅은 cloud config client 서버 구현....
반응형'WEB > BACK' 카테고리의 다른 글
spring cloud config (security) 구현하기 4 (0) 2024.08.01 spring cloud config (server,client,watcher) 구현하기 2 - client server (0) 2024.07.24 RSA in JAVA , rsa256 key 생성 (0) 2024.07.03 springboot2.7 + JWT + RSA256(openssl) (1) 2024.07.03 springboot2.7 ver 최상단 디렉토리 변경 (0) 2024.06.25