본문 바로가기

Server/Infra4

[Redis] Redis는 빠르니까 메인 데이터베이스로 써도 될까? (추천하지 않는 이유) 들어가며 안녕하세요Redis를 공부하고 있는 프로미입니다! Redis는 왜 빠른가?Redis를 메인 데이터베이스로 사용할 수는 없을까?궁금증을 가지고 생각을 정리해 보았어요!저와 비슷한 궁금증을 가졌던 분들에게 도움이 되길 바랍니다. 1. Redis란? For developers, who are building real-time data-driven applications, Redis is the preferred, fastest, and most feature-rich cache, data structure server, and document and vector query engine. - redis github Redis는 ‘매우 빠른 인메모리 데이터 저장소’이다.Redis 하면 ‘빠르다’는 특징이.. 2026. 2. 6.
[Redis] 대용량 트래픽에도 동작하는 좌석 예매 시스템 구축 (Lua, Zset) 안녕하세요 프로미 입니다.어느 날 유튜브에서 redis 관련 동영상을 보게 되었는데요,직접 구현해보고 싶은 생각이 들어 redis를 활용한 좌석 예매 시스템을 구축해 보았습니다! 이 글은 Redis를 이용해“동시에 몰리는 요청을 어떻게 제어할 수 있을까?”를직접 구현과 부하 테스트로 검증해 본 기록입니다.- Redis Sorted Set으로 대기열을 어떻게 구성했는지- polling, 스케줄링 중복 같은 실제 문제를 어떻게 해결했는지 를 다루고 있어요평소에 대용량 트래픽 + 대기열 처리에 관심 많으셨던 분들에게 추천드려요 1. 대용량 트래픽에도 동작하는 좌석 예매 시스템 구축https://youtu.be/c-ERjEodn_o?si=JmjSM1BeHLVzbw9W- 코딩하는 기술사 우연히 “수백만 동시 접속.. 2026. 2. 4.
[CICD] 도커 이미지 경량화하기 (CICD 구축기 2탄) 현재 문제도커 이미지 사이즈가 점점 커지고 있다..! 서비스를 배포할 때 Amazon 에서 관리하는 이미지를 사용하고 있었다. 이미지 용량이 500MB를 넘어가면서, 무거운 이미지가 배포 속도를 느리게 만드는 건 아닐까? 하는 생각에 배포 과정을 개선해보기로 했다. 시도 과정흔히들 하는 실수중의 하나가 자바 런타임용 컨테이너를 만들때, 컴파일러가 포함된 JDK 환경을 사용한다는 것이다. 보통 자바 런타임은 JDK 없이 JRE 만 있어도 충분하다.출처: https://bcho.tistory.com/1356 [조대협의 블로그:티스토리] 1. 멀티 스테이지 빌드 도입 FROM gradle:8.9-jdk21-alpine AS build WORKDIR /app COPY . . RUN gradle build -x.. 2025. 10. 3.
[CICD] 블루그린 배포로 변경하기 (spring + nginx + github action) 현재 상황 - 무중단 배포를 적용한 이유[CICD 과정]코드 머지 → github action 실행 → 재배포현재 구조에서는 재배포할 때 기존의 docker container를 제거하고 새로운 container를 실행하는 과정에서 잠깐의 서버 다운타임이 발생한다. 개발할 당시엔 길어야 5초 정도 서버가 다운되는 것이라 큰 상관이 없지 않을까 생각했지만, 실제 서비스 환경에서는 잠깐이라도 서버가 다운되면 프론트엔드 요청을 처리할 수 없는 문제가 발생한다.이를 방지하기 위해 무중단 배포(Zero Downtime Deployment)를 적용하여, 배포 중에도 트래픽이 끊기지 않고 지속적으로 서비스를 제공할 수 있도록 개선하였다. 어떻게 해결할 수 있나?1. 롤링 배포(Roling Deployment)롤링 배포.. 2025. 3. 13.