
기존 아키텍처 구조 현재 프로젝트는 아래와 같은 아키텍처로 구성된 상태입니다. Spring Boot ↔ Redis (SET 구조) ↔ MySQL 사용자가 게시글 상세 페이지를 조회하면, 기본적인 게시글 정보(제목, 내용 등)와 함께 좋아요 수도 함께 반환됩니다. 이때 좋아요 수는 실시간성과 성능을 고려하여 RDB가 아닌 Redis의 Set 자료구조를 활...

redis 도입 전/후 동시성 이슈 해결 및 성능 최적화

docker compose 사용하여 모니터링 구축 과정 정리 및 트러블 슈팅

최근 DB 성능 최적화를 위해 레디스를 학습하며 이전에 알고있던 JPA의 1차 캐시와의 차이점이 뭔지 잘 모르겠어서 다시 영속성 컨텍스트의 기본 개념을 학습하고자 한다 > JPA (Java Persistence API) JPA는 자바 진영에서 ORM 기술 표준으로 사용되는 인터페이스의 모음이다 풀네임에서 알 수 있듯이 Persistence(영속성)를 기...

언제 사용? 컨테이너 기반으로 인프라를 구성했을 때 서버를 여러대 운영하지 않는 소규모 프로젝트 일 경우 작업 흐름 1️⃣ * Ubuntu에서 Docker, Docker Compose 설치 * 2️⃣ Github Actions의 IAM에 권한 추가 IAM의 사용자 권한 정책에 AmazonEC2ContainerRegistryFullAccess 를 추가...

언제 사용? 서버를 여러 대 이상 구동하거나 무중단 배포가 중요한 서비스에 사용 인프라 구조가 복잡해진만큼 관리 비용, 유지보수 비용 등 복잡도가 증가 작업 흐름 1️⃣ * Code Deploy 및 AWS S3 접근에 대한 역할과 정책 설정 * [실습] CodeDeploy 셋팅 / IAM 설정 스크린샷이 많은 이유로 박재성 강사님의 노션링크로 대체 강...

언제 사용? 현업에서 초기 서비스 구축시 많이 활용한다 Github Actions에서 빌드 작업을 진행하여, 운영중인 서버에 거의 영향을 끼치지 않는다 CI/CD 툴로 Githut Actions만 사용하여 인프라 구조가 복잡하지 않다 작업 흐름 1️⃣ 이전글과 같이 프로젝트가 세팅이 되어있고, EC2 인스턴스가 실행중인 상태 2️⃣ Github Act...