1. 소개Swagger란? REST API 문서를 자동으로 생성하고 테스트할 수 있도록 도와주는 도구Spring Boot에서 API를 만들면 보통 어떤 엔드포인트가 있고, 어떤 요청과 응답이 있는지 문서를 만들어야 하는데, Swagger를 사용하면 이 과정을 자동화할 수 있다. 기능API 문서를 자동으로 생성코드에 어노테이션을 추가하면 문서가 자동으로 생성됨API를 웹 UI에서 바로 테스트Swagger UI를 통해 API를 직접 호출하고 응답을 확인할 수 있음API 명세를 JSON/YAML 형식으로 제공해서 다른 개발자나 클라이언트가 쉽게 연동OpenAPI Specification(OAS) 기반으로 API를 표준화할 수 있음코드와 동기화된 문서 유지코드 변경 시 API 문서도 자동으로 업데이트 2. S..
1. DB Replication 1) Master-Slave 구조Master DB: 데이터 변경(INSERT, UPDATE, DELETE) 담당Slave DB: 읽기(SELECT) 요청 담당 2) Replication 구현 흐름Master-Slave 데이터소스 설정동적으로 DataSource 선택Repository에서 @Transactional 사용하여 자동 분배 2. 데이터베이스 설정1) Master DB 설정1. cnf 파일 수정server-id=1log-bin=mysql-binbinlog-do-db=mydatabase # 복제할 DB 지정 2. Master DB에서 Replication 계정 생성CREATE USER 'replica_user'@'%' IDENTIFIED BY 'replica_p..
1. 소개1. Redis란?Redis(REmote DIctionary Server)는 인메모리(NoSQL) 데이터 저장소이다.즉, 데이터를 메모리에 저장해서 빠르게 읽고 쓸 수 있는 데이터베이스라고 생각하면 될 것 같다. 빠른 속도와 다양한 데이터 구조를 지원해 캐싱용도로 많이 사용된다.Spring Boot와 함께 Redis를 활용하면 데이터베이스나 외부 API 호출을 최소화하면서 성능을 향상시킬 수 있다. 2. 사용하는 이유고속 데이터 처리: 메모리 기반 저장소라서 DB보다 훨씬 빠름부하 감소: 자주 사용하는 데이터를 캐싱하여 DB 부하를 줄임TTL(만료 시간) 설정 가능: 특정 시간 후 자동 삭제 가능분산 환경 지원: 여러 인스턴스에서 공유 가능 2. 프로젝트 설정 (Spring Boot + Redi..
1. 소개1. Spring Boot Starter란?Spring Boot Starter는 특정 기능을 쉽게 설정하고 사용할 수 있도록 도와주는 라이브러리 모음이다.일반적으로 여러 라이브러리를 함께 조합해야 하는 경우가 많은데, Starter를 사용하면 번거로운 설정 없이 필요한 기능을 바로 적용할 수 있습니다. 2. 특징1. 의존성 관리 편리필요한 라이브러리를 한 번에 추가 가능2. 자동 설정 지원추가적인 설정 없이도 기본 기능 제공3. 버전 관리 용이Spring Boot 버전에 맞춰 호환되는 라이브러리 제공 3. 주요 모듈1. 웹 애플리케이션 관련spring-boot-starter-web: RESTful API 개발 및 웹 애플리케이션을 위한 기본적인 설정 포함 (Tomcat도 포함)spring-boo..