redis를 활용한 대규모 트래픽 처리

교육 대상 Redis 역량 강화를 희망하는 1~3년차 개발자 (Java/Kotlin)
교육 내용 • Redis 학습 자료 및 주차별 시나리오 제공 • 4회 이상 진행되는 현직자의 코드 리뷰 • 자유롭게 활용 가능한 질의응답 게시판
교육 방식 100% 온라인 (*시간과 무관하게 참여 가능)

IT 대기업 이직을 위한 필수 기술 Redis

도메인과 무관하게, Redis는 핵심 기능 구현에 필수적인 개념입니다.

대규모 트래픽의 3가지 문제를 Redis로 해결하는 법을 배웁니다.

핵심 개념인 ‘성능’, ‘데이터 무결성’, ‘안정성’를 중심으로 경험합니다.

문제 1. 성능

대부분의 서비스는 정보를 가져오는 과정에서 속도가 느려지는 병목 현상이 발생합니다.
해결 방법 : 캐싱
메모리 기반 데이터 스토어인 Redis 를 활용해 문제를 해결합니다. 캐싱된 데이터는 실시간 접근이 가능해, 커머스나 SNS 등의 서비스에 적용이 가능합니다.
프로젝트 요구 사항 미리 보기
[2주차] 데이터 특성에 따른 맞춤형 캐싱 전략 설계
[2주차] 부하 테스트를 통한 성능 개선 효과 검증

문제 2. 데이터 무결성

여러 프로세스가 동일한 데이터에 동시 접근하는 경우, 경쟁 상태가 발생합니다.
해결 방법 : 분산 락
트랜잭션 충돌을 방지하고, 중복 작업을 제거하기 위해 Redis를 활용합니다. 이후 커머스 및 핀테크 서비스의 실시간 주문 처리에 대해 응용이 가능합니다.
프로젝트 요구 사항 미리 보기
[3주차] Lock 매커니즘에 대한 검증
[3주차] 문제 상황에서의 해결 방향성 설정

문제 3. 안정성

갑작스러운 트래픽 증가는 서버 과부하, 서비스 중단으로 이어질 수 있습니다.
해결 방법 : Rate limit
부하 분산을 위해 실시간 처리가 가능한 redis 기반 Rate limit을 다룹니다. 이를 통해 도메인과 무관하게, 서비스의 안정적인 운영을 수행할 수 있습니다.
프로젝트 요구 사항 미리 보기
[4주차] Rate limit 알고리즘 실습
[4주차] 테스트 코드 작성 후 커버리지 개선
커리큘럼 설계 배경 (6년차 엔지니어, 백OO 멘토)
‘대규모 트래픽 처리’에 있어 핵심적으로 요구되는 내용들을 커리큘럼에 반영하였습니다.
1. 대규모 트래픽 처리에서 발생 가능한 문제에 대해 알고 있는가 2. 문제 해결을 위한 기본 지식이 뒷받침 되는가 3. 문제 발생시, 문제를 어떻게 정의하고 해결하는가 … (더보기)

‘잘’하는 개발자가 되려면 프로젝트로 학습해야 합니다.

온라인 강의에서는 경험할 수 없는 깊이 있는 결과물을 완성합니다.
왜 강의가 아닌 프로젝트를 활용하여 진행되나요?
개발자는 코드를 따라 치는 것이 아닌, 기술로 문제를 해결하는 직무이기 때문입니다.

항해에서 진행되는 코드 리뷰가 다를 수 밖에 없는 3가지 이유

코드 리뷰 진행 방식 미리보기

4주간 아래 단계를 거쳐 하나의 프로젝트를 완성합니다.

이커머스 핵심 프로세스 구현

상품 조회 및 주문 과정을 구현하며, Redis의 핵심 기술을 통해 발생할 수 있는 동시성 이슈를 해결합니다. 나아가, 성능 개선을 경험하고 안정성을 높이기 위한 방법을 배웁니다.
이커머스 인가요?

주차별 상세 커리큘럼

1주차

아키텍처 설계 및 API 구현

: 멀티 모듈 설계를 통해 모듈화코드 재사용성에 대해 학습합니다.
요구사항 1. 멀티 모듈 설계
역할과 책임이 명확히 분리되는 3개 이상의 모듈을 구성하여 안정성을 높입니다. 이 때, 3가지 유형의 아키텍처 중 적합한 패턴을 선택해 설계합니다.
요구사항 2. Table 설계 및 DB 설정
테이블 간 관계 성립을 위해 ERD를 설계한 후, Docker compose를 활용해 DB를 설정합니다.
요구사항 3. API 설계 및 구현
특정 제한 사항에 맞게 조회 API를 구현합니다.
2주차

Indexing 및 Caching 개념을 활용한 성능 최적화

: 성능 최적화를 위한 여러 기술을 단계적으로 구현해 봅니다.
요구사항 1. API 리팩토링
조회 API 외에, 검색 기능을 추가로 구현합니다. 이 때, 프로젝션을 활용해 필수 데이터만 반환하도록 쿼리를 수정합니다.
요구사항 2. Indexing을 통한 성능 최적화
인덱스를 생성하고, 성능 확인을 위해 부하 테스트를 진행합니다.
요구사항 3. Caching을 활용한 조회 성능 개선
Redis를 활용해 메인 페이지 조회 성능을 개선합니다.
3주차

Lock을 활용한 동시성 이슈 해결 및 성능 최적화

: 데이터 무결성 유지를 위해 각 Lock 간의 차이점을 파악 후, 동시성 이슈를 해결합니다.
요구사항 1. 동시성 문제 해결
공유 자원으로 인해 발생하는 동시성 이슈 해결을 위해, 비관적 락 → 낙관적 락 → 분산락을 단계적으로 구현합니다.
요구사항 2. 함수형 분산락
AOP 기반 분산락을 함수형 분산락으로 변경하여 구현 방식에 따른 성능 개선을 직접 경험합니다.
요구사항 3. 테스트 코드 작성
단계별로 구현한 Lock에 대한 테스트 코드를 각각 작성하여 문제 해결 여부를 검증합니다.
4주차

Rate limit 을 활용한 서버 리소스 관리

: 서버의 안정성을 높이기 위한 방법 중 하나인 Rate limit을 학습합니다.
요구사항 1. Rate limit 구현
Rate limit에 걸린 상황을 미리 경험합니다. 특정 수치 이상의 요청건에 대해서는 에러 코드를 반환하여 서버 안정성을 유지합니다.
요구사항 2. 테스트 코드 작성 및 커버리지 측정
핵심 로직에 대한 테스트 코드 작성 후, 커버리지를 최소 30% 이상 만족할 수 있도록 코드를 지속적으로 개선합니다.

단기 스킬업은 매주 이렇게 진행됩니다.

4주간, 멘토와 함께 아래 사이클을 반복합니다.

믿을 수 있는 실력을 가진 멘토진과 함께 성장하세요.

교육비

합리적인 가격으로 폭발적인 성장을 이루세요. 알림 신청자에 한해 최대 할인이 적용됩니다.
• 사전 과제 및 Redis 학습 자료 • 주차별 실무 시나리오 제공 • 4회 이상 진행되는 현직자의 코드 리뷰 • 현직 개발자와의 상시 QnA

모집 개요

교육 대상 Redis 역량 강화를 희망하는 1~3년차 개발자 (Java/Kotlin)
교육 내용 • Redis 학습 자료 및 주차별 시나리오 제공 • 4회 이상 진행되는 현직자의 코드 리뷰 • 자유롭게 활용 가능한 질의응답 게시판
교육 방식 100% 온라인 (*시간과 무관하게 참여 가능)
1:1 채팅 상담하기

FAQ

신청/결제
선발 절차가 있나요?
교육 방식
반드시 참여해야 하는 요일/시간이 있나요?
교육 대상
Redis 에 대한 사전 지식이 없어도 괜찮을까요?
교육 과정
코드 리뷰는 어떻게 진행되나요?
교육 과정
리뷰어는 어떻게 구성되어 있나요?