강의

멘토링

커뮤니티

NEW
개발 · 프로그래밍

/

백엔드

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 캐시 전략

대규모 시스템에서 활용할 수 있는 캐시 전략을 스프링부트로 직접 만들면서 배워봅니다. 문제 상황 Cache Penetration, Cache Stampede, Hot Key를 이해하고 해결 전략을 구현합니다.

43명 이 수강하고 있어요.

  • 쿠케

이런 걸 배울 수 있어요

  • 캐시의 개념과 필요성

  • 대규모 시스템에서의 캐시 문제 상황 및 해결 전략

  • Spring Boot 활용 능력

  • Redis 이해 및 활용 능력

  • 애플리케이션 코드 작성 및 구현 능력

추천 대상

  • 대규모 시스템에서 캐시를 사용할 때의 문제 상황과 해결 전략이 궁금한 사람

  • 캐시를 사용해 본 적 없거나 아직 캐시를 제대로 이해하지 못한 사람

  • 단순히 스프링 캐시 애노테이션(@Cacheable)만 활용해본 사람

    • 정말 이것으로 충분한지 의구심이 품어보았다면 더욱 추천


  • 캐시 전략에 대해 깊고 다양하게 공부해 보고 싶은 사람


선수 지식

  • Spring Boot

    Spring Boot 동작 원리나 사용 방법에 대해서 다루진 않습니다.

  • Java

    Java 21을 사용하지만, 복잡한 최신 문법을 사용하진 않기 때문에, 반드시 21 버전에 대해 알 필요는 없습니다. Java 8 이상 문법을 학습했으면 충분합니다.

  • Redis

    Redis는 강의에서 설명하므로 선수 지식은 필요하지 않습니다. 하지만 주로 활용 측면에서 다루기 때문에 부족한 부분은 추가 학습이 필요할 수 있습니다.

  • Computer Science 지식 : CS 지식에 대한 기초가 있으면 이해가 수월할 수 있으나, 절대 필수 사항은 아닙니다.

기술 스택 및 도구

  • Spring Boot 3.5.6

  • Java 21

  • Redis 8.2.1


  • Gradle


  • Docker

  • Test Container


  • IntelliJ IDEA


특정 버전에 구애받는 강의는 아니지만, 원활한 실습을 위해 동일한 환경을 권장합니다.

타 언어 또는 프레임워크를 사용하더라도, 개념 및 설계 방식은 동일합니다. 이러한 부분에 대해 직접 고려하고 개발할 수 있다면, 스프링부트를 사용하지 않더라도 학습하실 수 있습니다.

학습 키워드

강의에서 배울 수 있는 키워드를 정리해보았습니다.
아직 모르는게 당연하지만, 강의를 통해 위 개념들에 대해 학습 및 구현하게 됩니다.

#Cache #Redis #Redis_Cluster #Shard #Look_Aside #Cache_Penetration

#Null_Object_Pattern #Bloom_Filter #Cache_Stampede #Jitter

#Probabilistic_Early_Recomputation #Request_Collapsing #Rate_Limit #Write_Through

#List_Cache #Hot_Data #Cold_Data #Distributed_Lock #Hot-Key

#Application-Level_Sharding #Application-Level_Replication #Docker

수강 전 Q&A

Q. 백엔드와 스프링부트를 완전히 처음 배우는데 수강할 수 있을까요?

A. 입문 강의는 아니기 때문에 백엔드의 개념, 스프링의 원리와 사용 방법을 설명하진 않습니다. 따라서 스프링에 대한 기초 지식은 필수 요건이고, 잘은 모르더라도 학습하면서 배울 수 있는 자세만 있으면 충분합니다. 아주 간단한 게시판이더라도, 최소 1회는 무언가를 만들어본 분들께 추천드립니다.

Q. Redis를 모르는데 수강할 수 있나요?

A. Redis는 강의에서 설명하고 다루기 때문에 모르셔도 괜찮습니다. 다만, 주로 활용 측면에서 다루기 때문에 부족한 부분은 추가 학습이 필요할 수 있습니다.

Q. 강의만 완강하면, 모든 내용 다 이해할 수 있나요?

A. 강의의 내용을 제대로 학습하고 온전히 습득하려면 몇 배의 시간이 들 수 있습니다. 단순하게 눈으로만 듣고 코드만 한번 따라친다고 해서 모든 내용을 이해할 수는 없습니다. 그만큼 어려운 주제입니다. 강의를 진행하면서도 지속적으로 복습하고 전반적인 구조를 파악해보는 것을 권장드립니다. 또, 강의의 방향성과 무관하거나 직접 학습이 필요하다고 판단한 부분은, 강의에서 설명하지 않기 때문에 마냥 친절하게 느껴지진 않을 수 있습니다. 이러한 부분은 개인 학습이 필요합니다.

Q. 백엔드 경험은 있으나, 스프링부트가 아니라 다른 프레임워크만 사용해봤어요. 강의를 들을 수 있을까요?

A. 개념은 모두 동일하므로 들으셔도 무방합니다. 다만, 스프링부트에서 자바 언어로 작성된 코드만 제공하기 때문에, 타 언어로 직접 옮길 수 있는 구현 능력은 필요할 수 있습니다. 

Q. 강의 소개에 언급된 키워드들 하나도 모르겠어요.

A. 선행 조건으로 언급된 사항만 충족되면, 강의를 통해서 이론을 학습하고 코드로 직접 구현해보기 때문에, 잘 따라올 수만 있으면 괜찮습니다.

Q. 서버 배포나 클라이언트 개발도 다루나요?

A. 로컬에서만 개발 및 테스트가 진행되고, 서버 배포나 클라이언트 화면 개발은 진행되지 않습니다.

Q. 강의를 진행하면서 클라우드 등 부가적인 비용이 드는게 있을까요?

A. 로컬에서만 개발 및 테스트가 진행되므로, 별도 비용은 필요하지 않습니다.

이런 분들께
추천드려요

학습 대상은
누구일까요?

  • 대규모 시스템에서 활용할 수 있는 캐시 전략이 궁금한 사람

  • 캐시를 사용해 본 적 없는 사람

  • 아직 캐시를 제대로 이해하지 못한 사람

  • 단순히 @Cacheable 애노테이션만 활용해 본 사람

  • 캐시 전략에 대해 깊고 다양하게 공부해 보고 싶은 사람

선수 지식,
필요할까요?

  • Java

  • Spring Boot

안녕하세요
입니다.

1,520

수강생

165

수강평

226

답변

4.9

강의 평점

3

강의

안녕하세요.

IT 기업 개발자로 근무하며, 대규모 시스템을 지탱하기 위해 다양한 기술을 활용해보고 있습니다.

실무 관점의 개발 지식을 공유하고자 개설하였고, 많은 도움이 되었으면 좋겠습니다.

 

[문의]

Email : kukekyakya@gmail.com

커리큘럼

전체

44개 ∙ (7시간 40분)

해당 강의에서 제공:

수업자료
강의 게시일: 
마지막 업데이트일: 

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!

얼리버드 할인 중 (8일 남음)

₩116

24%

₩198,000

쿠케님의 다른 강의

지식공유자님의 다른 강의를 만나보세요!

비슷한 강의

같은 분야의 다른 강의를 만나보세요!