.png?w=420)
대규모 시스템 설계 Part 1
Jayce
유명한 논문, 책, 아티클을 통해 글로벌 스케일의 서비스의 공통적인 컴포넌트를 학습해요.
초급
소프트웨어 설계, DBMS/RDBMS
대표적인 동시성 문제인 경쟁 상태(Race Condition)를 주제로 학습합니다. 동시성 문제를 발생시키는 단일 서버 환경과 분산 환경을 비교하면서 실습합니다. 트랜잭션 경계와 격리수준을 이해할 수 있습니다. 낙관적 락, 비관적 락, 분산 락의 차이를 배울 수 있습니다.
동시성 문제에 대한 근본적인 원인과 해결 방법
단일 서버 환경과 분산 서버 환경에서 동시성 문제를 해결하는 방법
낙관적 락, 비관적 락, 분산 락 제대로 알고 사용하기
트랜잭션 경계와 격리 수준의 이해
IntelliJ IDEA, Docker, k6 활용 방법
이 강의로 낙관적 락, 비관적 락, 분산 락 등 동시성 문제의 개념과 해결 방법을 정확하게 이해하세요.
동시성 문제를 발생시키는 환경을 만들어서 실제로 동시성 문제를 경험합니다.
단일 서버 환경과 분산 서버 환경에서 동시성 문제의 차이를 확인하세요.
정확히 모르고 사용했던 @Transactional 애노테이션의 사용 방법을 이해할 수 있습니다.
동시성 문제는 하나인데 왜 해결 방법은 여러가지일까요? 이유를 확인해 보세요.
이 강의를 들어야 하는 분 (1)
동시성 문제 사실 아직도 잘 모르겠어요. 😅
이 강의를 들어야 하는 분 (2)
낙관적 락, 비관적 락, 분산 락의 차이를 정확하게 이해하지 못하고 있어요. 🌧️
이 강의를 들어야 하는 분 (3)
동시성 문제는 어떻게 테스트해야 하나요? 📜
실무에서 가장 많이 발생하는 동시성 문제인 경쟁 상태(Race Condition)에 대해서 이해할 수 있습니다.
잘 모르고 사용했 던 @Transcational 애노테이션을 제대로 사용할 수 있습니다.
단일 서버 환경과 분산 서버 환경에 대한 동시성 문제를 이해하고 정확하게 해결할 수 있습니다.
트랜잭션 격리 수준과 경계에 대해서 이해하고 실무에 적용할 수 있습니다.
동시성 문제의 근본적인 이유를 알고 계시나요?
근본적인 원인부터 이해하고 해결 방법을 배우면 더 정확하게 문제를 이해하고 해결할 수 있습니다.
강의에서는 동시성 문제의 개념부터 잡고 시작합니다.
동시성 문제는 단일 서버 환경과 분산 서버 환경에서 서로 다르게 발생합니다. 같은 해결 방법을 적용하더라도 환경에 따라 문제가 해결되지 않을 수 있습니다.
어떤 환경에서 어떻게 사용해야할 지 알고있어야 실무에 바로 적용할 수 있습니다.
2개의 애플리케이션을 동시에 실행하여 분산 환경을 구성합니다.
(현) 안랩 백엔드 개발자
Q. 동시성 문제라는 주제가 너무 어렵게 느껴져요. 🫥
동시성 문제가 어렵게 느껴지는 이유는 개념이 복잡해서가 아니라, 실무에서 직접 경험하기 전까지 감이 잡히지 않기 때문입니다.
강의에서는 핵심 개념만 추려 실습 중심으로 설명합니다.
코드로 바로 확인할 수 있어 빠르게 이해하실 수 있습니다.
Q. 스프링 부트나 JPA에 대해서 아직 잘 모르는 상태입니다. 🤦♀️
스프링 부트와 JPA를 깊이 알 필요는 없습니다.
동시성 개념은 프레임워크와 별개로 이해할 수 있습니다.
강의에서는 필요한 부분만 최소한으로 설명하고 바로 실습에 적용합니다.
실습에서 사용한 프로젝트 코드도 깃허브로 제공하고 있으니 바로 따라오실 수 있습니다.
Q. 동시성 문제가 실무에서 자주 발생하는 건가요❓
네, 실제 서비스에서는 자주 발생합니다.
트래픽이 많거나 공유 자원 접근이 있는 구조에서는 거의 필연적으로 나타납니다.
특히 재고 감소, 결제, 예약처럼 상태 변경 로직에서 빈번합니다.
그래서 초기 설계 단계부터 동시성 제어 전략을 고려하는 것이 실무에서 권장됩니다.
운영 체제 및 버전: Windows 11
사용 도구: IntelliJ IDEA Ultimate Edition, Docker, k6, Spring Boot, DBMS/RDBMS, Redis
Spring Boot, JPA, RDBMS
이 강의는 동시성 문제를 실습하기 위하여 순간적으로 많은 요청을 만드는 환경에서 실습하고 있지만 대량의 요청을 문제없이 처리하는 방법에 대한 강의는 아닙니다.
대량의 요청을 처리하는 방법과 동시성 문제를 처리하는 방법은 서로 다른 주제라는 점을 알려드립니다.
학습 대상은
누구일까요?
계속해서 헷갈리는 동시성 문제와 해결 방법이 고민인 개발자
동시성 문제와 관련된 트랜잭션을 이해하고 싶은 개발자
낙관적 락, 비관적 락, 분산 락의 차이를 이해하고 적용하고 싶은 개발자
선수 지식,
필요할까요?
간단한 API 백엔드 서버 개발 경험 (Spring Boot)
데이터 베이스(RDBMS, NoSQL)에 대한 기초 지식
전체
25개 ∙ (3시간 54분)
얼리버드 할인 중
₩34,650
30%
₩49,500
같은 분야의 다른 강의를 만나보세요!