✅ 아키텍처 구성

자세한 생성은 https://ehdgus1.tistory.com/110를 참고하자
Spring Boot 서버를 EC2에 배포하기
전에 올렸던 게시글에서 인스턴스에 연결하여 우분투 환경에서 진행한다. ✅ 1. Ubuntu 환경에서 JDK 설치하는 법$ sudo apt update && /sudo apt install openjdk-17-jdk -y ✅ 2. 잘 설치됐는 지 확인하기$ java -v
ehdgus1.tistory.com
✅ EC2 생성
보안 그룹 설정에서 8080번 포트 열어주는 것을 깜빡하지 말자.
✅ RDS 생성
보안 그룹 설정에서 3306번 포트 열어주는 것 깜빡하지 말자.
✅ EC2에 Redis 설치
$ sudo apt update
$ sudo apt install redis
$ redis-cli
127.0.0.1:6379> ping
PONG
✅ EC2에 Spring Boot 프로젝트 셋팅하기
$ sudo apt install openjdk-17-jdk
application.yml 정보 추하기
...
# prod 환경
spring:
config:
activate:
on-profile: prod
datasource:
url: jdbc:mysql://{rds 주소}:3306/mydb
username: username
password: password
EC2로부터 Github Clone 받기
$ git clone {Github Repository 주소}
$ cd {프로젝트 경로}
서버 실행시키기
# 스프링 프로젝트 경로로 들어가서 아래 명령어 실행
$ ./gradlew clean build -x test
$ cd build/libs
$ java -jar -Dspring.profiles.active=prod {빌드된 jar 파일명}
✅ RDS에 더미데이터 넣기
-- 높은 재귀(반복) 횟수를 허용하도록 설정
-- (아래에서 생성할 더미 데이터의 개수와 맞춰서 작성하면 된다.)
SET SESSION cte_max_recursion_depth = 1000000;
-- boards 테이블에 더미 데이터 삽입
INSERT INTO boards (title, content, created_at)
WITH RECURSIVE cte (n) AS
(
SELECT 1
UNION ALL
SELECT n + 1 FROM cte WHERE n < 1000000 -- 생성하고 싶은 더미 데이터의 개수
)
SELECT
CONCAT('Title', LPAD(n, 7, '0')) AS title, -- 'Title' 다음에 7자리 숫자로 구성된 제목 생성
CONCAT('Content', LPAD(n, 7, '0')) AS content, -- 'Content' 다음에 7자리 숫자로 구성된 내용 생성
TIMESTAMP(DATE_SUB(NOW(), INTERVAL FLOOR(RAND() * 3650 + 1) DAY) + INTERVAL FLOOR(RAND() * 86400) SECOND) AS created_at -- 최근 10년 내의 임의의 날짜와 시간 생성
FROM cte;
Postman으로 테스트하기
ip주소:8080/boards를 통해 테스트 가능
Redis를 적용했을 때

Redis를 적용하지 않았을 때

'🏛️Infra > Redis' 카테고리의 다른 글
부하 테스트를 통해 Redis 적용 전후 성능 비교 (0) | 2025.03.16 |
---|---|
스프링부트 프로젝트에 적용해보기 (0) | 2025.03.15 |
Redis 캐싱 전략 (0) | 2025.03.15 |
Redis (0) | 2025.03.12 |
✅ 아키텍처 구성

자세한 생성은 https://ehdgus1.tistory.com/110를 참고하자
Spring Boot 서버를 EC2에 배포하기
전에 올렸던 게시글에서 인스턴스에 연결하여 우분투 환경에서 진행한다. ✅ 1. Ubuntu 환경에서 JDK 설치하는 법$ sudo apt update && /sudo apt install openjdk-17-jdk -y ✅ 2. 잘 설치됐는 지 확인하기$ java -v
ehdgus1.tistory.com
✅ EC2 생성
보안 그룹 설정에서 8080번 포트 열어주는 것을 깜빡하지 말자.
✅ RDS 생성
보안 그룹 설정에서 3306번 포트 열어주는 것 깜빡하지 말자.
✅ EC2에 Redis 설치
$ sudo apt update
$ sudo apt install redis
$ redis-cli
127.0.0.1:6379> ping
PONG
✅ EC2에 Spring Boot 프로젝트 셋팅하기
$ sudo apt install openjdk-17-jdk
application.yml 정보 추하기
...
# prod 환경
spring:
config:
activate:
on-profile: prod
datasource:
url: jdbc:mysql://{rds 주소}:3306/mydb
username: username
password: password
EC2로부터 Github Clone 받기
$ git clone {Github Repository 주소}
$ cd {프로젝트 경로}
서버 실행시키기
# 스프링 프로젝트 경로로 들어가서 아래 명령어 실행
$ ./gradlew clean build -x test
$ cd build/libs
$ java -jar -Dspring.profiles.active=prod {빌드된 jar 파일명}
✅ RDS에 더미데이터 넣기
-- 높은 재귀(반복) 횟수를 허용하도록 설정
-- (아래에서 생성할 더미 데이터의 개수와 맞춰서 작성하면 된다.)
SET SESSION cte_max_recursion_depth = 1000000;
-- boards 테이블에 더미 데이터 삽입
INSERT INTO boards (title, content, created_at)
WITH RECURSIVE cte (n) AS
(
SELECT 1
UNION ALL
SELECT n + 1 FROM cte WHERE n < 1000000 -- 생성하고 싶은 더미 데이터의 개수
)
SELECT
CONCAT('Title', LPAD(n, 7, '0')) AS title, -- 'Title' 다음에 7자리 숫자로 구성된 제목 생성
CONCAT('Content', LPAD(n, 7, '0')) AS content, -- 'Content' 다음에 7자리 숫자로 구성된 내용 생성
TIMESTAMP(DATE_SUB(NOW(), INTERVAL FLOOR(RAND() * 3650 + 1) DAY) + INTERVAL FLOOR(RAND() * 86400) SECOND) AS created_at -- 최근 10년 내의 임의의 날짜와 시간 생성
FROM cte;
Postman으로 테스트하기
ip주소:8080/boards를 통해 테스트 가능
Redis를 적용했을 때

Redis를 적용하지 않았을 때

'🏛️Infra > Redis' 카테고리의 다른 글
부하 테스트를 통해 Redis 적용 전후 성능 비교 (0) | 2025.03.16 |
---|---|
스프링부트 프로젝트에 적용해보기 (0) | 2025.03.15 |
Redis 캐싱 전략 (0) | 2025.03.15 |
Redis (0) | 2025.03.12 |