인프런 영문 브랜드 로고
인프런 영문 브랜드 로고
BEST
Programming

/

Back-end

How to solve simultaneity issues through inventory system

Learn what concurrency issues are and how to deal with them.

(4.7) 266 reviews

3,209 students

concurrent
Spring
Java
Thumbnail

This course is prepared for Basic Learners.

What you will learn!

  • You will be able to understand what the concurrency issues are.

  • You will learn how to handle concurrency issues.

Handling concurrency issues with confidence!
Learn step by step with a simple inventory system.

If you are a backend developer
Concurrency Issues You Must Know 🚩

Do you know about concurrency issues ? If you are a backend developer, you must know how to program with concurrency in mind. If you start developing without considering concurrency issues when you first start a project, various problems can occur in situations where data integrity is important.

In this lecture, we will learn what concurrency issues are and how to solve them. We will learn about concurrency issues and how to solve them by creating a simple inventory system . This lecture was created to help beginner backend developers who are just starting out with Java and Spring. Let's learn together.

Recommended for these people 💡

I have created a bulletin board, but I want to know what to consider for practical backend development .

For those who are curious about how to develop functions where data integrity is important, such as inventory


Solving in 3 steps
Inventory system consistency issue!

The DB and actual product inventory numbers do not match.
What should I do?

Concurrency Issue

Problem Solving #1
Application Level

Solve problems at the application level.

Using the Synchronized keyword

Problem Solving #2
Database Lock

Let's control concurrency by using the lock provided by the database.

  • Pessimistic Lock
  • Optimistic Lock
  • Name Lock

Use Pessimistic Lock

Problem Solving #3
Redis Distributed Lock

Let's control concurrency by utilizing the functions of Redis.

  • Compare libraries
  • Command practice via Redis Cli
  • Using Lettuce
  • Using Redisson

Lettuce, Redission usage


Check out the Q&A 💬

Q. I have now learned Java. Can I take this course?

This course is recommended for those who have created a bulletin board using Spring. It is recommended that you take this course after creating a bulletin board using Spring.

Q. Will this course help me deal with all concurrency issues?

Since each situation has a different way of handling it, it is not possible to handle everything. However, since you learn what concurrency issues are and how to solve them, I think you will be able to develop a method to apply them depending on the situation.

Q. I am a current developer using Node.js. Can I take this course?

If you can understand Java, you can listen to it, as we won't be using many Spring-specific features.

Recommended for
these people!

Who is this course right for?

  • For those who are not sure what the concurrency issue is

  • If you know what a concurrency issue is but don't know how to solve it,

  • Anyone who has ever created a bulletin board using Spring

Need to know before starting?

  • Java

  • Spring

  • Spring Data Jpa

Hello
This is 최상용

Students

4,928

Reviews

351

Rating

4.8

Courses

2

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

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

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

Curriculum

All

18 lectures ∙ (1hr 8min)

  • Source code

  • Problem

    05:01

Published: 
Last updated: 

Reviews

Not enough reviews.
Become the author of a review that helps everyone!