강의

멘토링

커뮤니티

BEST
개발 · 프로그래밍

/

백엔드

재고시스템으로 알아보는 동시성이슈 해결방법

동시성 이슈란 무엇인지 알아보고 처리하는 방법들을 학습합니다.

(4.8) 수강평 328개

수강생 3,563명

난이도 초급

수강기한 무제한

  • 최상용

먼저 경험한 수강생들의 후기

수강 후 이런걸 얻을 수 있어요

  • 동시성 이슈가 무엇인지 알 수 있게 됩니다.

  • 동시성 이슈를 처리하는 방법들을 알게 됩니다.

동시성 이슈 처리도 자신있게! 
간단한 재고 시스템으로 차근차근 배워보세요.

백엔드 개발자라면 
꼭 알아야 할 동시성 이슈 🚩

동시성 이슈를 아시나요? 백엔드 개발자라면 동시성을 고려한 프로그래밍을 반드시 할 줄 알아야 합니다. 막 프로젝트를 시작할 때 동시성 이슈를 고려하지 않은 채로 개발을 시작하게 되면 데이터 정합성이 중요한 상황에서 여러 가지 문제가 발생할 수 있기 때문입니다.

이 강의에서는 동시성 이슈가 무엇이고, 어떤 방식으로 해결할 수 있는지를 알아봅니다. 간단한 재고 시스템을 직접 만들어보면서 동시성 이슈에 대해 알아보고, 문제를 해결하는 방법에 대해 알아봅니다. 자바(Java)와 스프링(Spring)을 막 뗀 초보 백엔드 개발자 여러분께 도움이 되고자 이번 강의를 제작하게 되었습니다. 함께 알아가볼까요?

이런 분들께 추천합니다 💡

게시판은 만들어보았지만, 실무 백엔드 개발에는 어떤 걸 고려해야 하는지 알고 싶은 분 

재고와 같이 데이터 정합성이 중요한 기능을 어떻게 개발해야 하는지 궁금한 분


3-Step으로 해결하는 
재고 시스템 정합성 문제!

DB랑 실제 상품 재고 숫자가 안 맞아요. 
어떻게 하면 좋을까요?

동시성 문제(Concurrency Issue)

문제 해결 #1
Application Level

Application 레벨에서 문제를 해결합니다.

Synchronized 키워드 사용

문제 해결 #2
Database Lock

데이터베이스가 제공하는 Lock을 이용하여 동시성을 제어해 봅니다. 

  • Pessimistic Lock (비관적 락)
  • Optimistic Lock (낙관적 락)
  • Name Lock (네임 락)

Pessimistic Lock 사용

문제 해결 #3
Redis Distributed Lock

Redis(레디스)의 기능을 활용해 동시성을 제어해 봅니다.

  • 라이브러리 비교
  • Redis Cli를 통한 명령어 실습
  • Lettuce 활용하기
  • Redisson 활용하기

Lettuce, Redission 사용


Q&A를 확인해보세요 💬

Q. 이제 자바(Java)를 다 배웠습니다. 이 강의를 들어도 될까요?

이 강의는 스프링(Spring)을 이용하여 게시판을 만들어보신 분들에게 권장합니다. 스프링으로 게시판을 한 번 만들어보신 후에 들으시는 걸 권장합니다.

Q. 이 강의를 들으면 동시성 이슈를 전부 처리할 수 있게 되나요?

상황마다 처리하는 방법이 다르기 때문에 전부 처리할 수 있지는 않습니다. 다만 동시성 이슈가 무엇이고, 어떤 식으로 해결하는지를 배우기 때문에 상황에 따라 응용하는 방법을 기르실 수 있다고 생각합니다.

Q. Node.js를 사용하여 개발하던 현직자입니다. 이 강의를 들어도 될까요?

스프링에 특화된 기능을 많이 사용하지 않기 때문에 자바를 이해하실 수 있다면 들으셔도 괜찮습니다.

이런 분들께
추천드려요

학습 대상은
누구일까요?

  • 동시성 이슈가 무엇인지 잘 모르시는 분

  • 동시성 이슈는 무엇인지 알지만 어떻게 해결해야 하는지 모르시는 분

  • Spring을 이용하여 게시판을 한 번이라도 만들어보신 분

선수 지식,
필요할까요?

  • Java

  • Spring

  • Spring Data Jpa

안녕하세요
입니다.

5,723

수강생

453

수강평

311

답변

4.8

강의 평점

3

강의

안녕하세요. 지식공유자 최상용입니다.

많은 오픈소스에 기여한 경험이 있는 현직 백엔드 개발자입니다.

- Spring Data Mongo Contributor
- querydsl Contributor
- grpc-kotlin Contributor
- ksp Contributor
- mybatis Contributor

커리큘럼

전체

18개 ∙ (1시간 8분)

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

수강평

전체

328개

4.8

328개의 수강평

  • seonjun Moon님의 프로필 이미지
    seonjun Moon

    수강평 27

    평균 평점 4.7

    5

    100% 수강 후 작성

    이게 한시간 짜리이지만 도커도 만져보고, 여러가지 기능들을 전부 다 실행해보고 하니 진짜 엄청 알차네요... 또 피드백도 잘 되어있고... 당신 정체가 무엇이죠...?

    • 최상용
      지식공유자

      seonjun Moon 님 너무 좋은후기 감사드립니다!

  • hjin님의 프로필 이미지
    hjin

    수강평 7

    평균 평점 5.0

    5

    28% 수강 후 작성

    전체 강의 한시간 남짓한 시간인데 굉장히 알차게 잘 정리되어있습니다!! 처음 접하면 어렵고 까다로운 주제라서 이해하기 힘들었는데 이 강의 듣고 많이 이해했습니다. synchronized, DB lock 까지만 듣고 아직 레디스 부분은 안들었지만 레디스도 기대중!!ㅎㅎ 이 후기 보시는 개발자분들 1시간만 투자하면 되니까 들어보세요!! 물론 선생님이 1시간 설명이고 제가 하는건 1시간이 아니긴 합니다..ㅠㅠ 그렇지만 이 강의 개인적으로 대만족입니다ㅎㅎ 글씨가 작았던거 빼곤 동시성 해결방법에 대해 쉽고 간단하게 설명해주셔서 좋았어요~ 다음 강의도 짧고 굵게, 글씨는 엄청 크게 부탁드립니다...^^

    • 최상용
      지식공유자

      hjin 님 굉장히 긴 후기 감사합니다! 저도 처음 접할때 굉장히 어려웠던 주제였어서 최대한 쉽게 설명드리고 싶었습니다. 제 강의를 통해서 많이 이해하셨다니 굉장히 뿌듯합니다. 글씨는... 다음강의부터는 키워보겠습니다.

  • 김태영님의 프로필 이미지
    김태영

    수강평 7

    평균 평점 4.7

    5

    50% 수강 후 작성

    인강계의 체리피커같은 강의, 군살은 쏙 빼고 필요한 것만 담은 다이어트 패키지 같은 강의였습니다. 동시성을 간단한 예제를 통해 쉽고 빠르게 익힐 수 있는 유익한 시간이었습니다. 글씨는 좀 작아요.. ;ㅅ;

    • 최상용
      지식공유자

      김태영님 너무 좋은 후기 감사합니다 :) 최대한 간략하되 도움되는 정보를 드리고 싶었습니다! 글씨는 차차 조금씩 키워보도록 하겠습니다. 강의를 수강해주셔서 감사합니다!

  • 주아아빠님의 프로필 이미지
    주아아빠

    수강평 50

    평균 평점 5.0

    5

    50% 수강 후 작성

    강의 너무 좋습니다. 다른 개발자분들 꼭 들었으면 좋겠네요 앞으로 실무에 도움되는 깊이 있는 다른 좋은 강의 부탁드립니다 건강 하고 행복하세요~

    • 최상용
      지식공유자

      김동희님 너무 좋은 후기감사합니다! 김동희님도 건강하고 행복하세요!!

  • 이지아님의 프로필 이미지
    이지아

    수강평 5

    평균 평점 5.0

    5

    50% 수강 후 작성

    동시성 이슈에 대해 직접 테스트 해보고 해결방안을 알아볼 수 있어서 좋습니다. 신입에게도 좋은 강의네요. 그런데 강의 코드 영상이 너무 작아서 잘안보입니다.... 이 부분 말고는 다 괜찮습니다 허허

    • 최상용
      지식공유자

      이지아님 후기 감사드립니다. 글씨가 작아서 강의수강에 불편을 드린점 정말 죄송합니다.. ㅠㅠ

인프런 10주년! 사랑주간 전체 할인 중 (3일 남음)

₩13,860

30%

₩19,800

최상용님의 다른 강의

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

비슷한 강의

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