📊 동시성 제어 방식 비교SeriesJava Concurrency ControlDatabase Concurrency ControlRedis Concurrency ControlKafka Concurrency ControlCompare Concurrency Control⚠️ 로컬에서 테스트한 결과이고,서버 환경과 여러 요인들에 의해 결과가 달라질 수 있고, 정확하지 않을 수 있습니다.Case 01한정수량 : 50,000Total User : 296Processes : 8Threads : 37(DB Named 방식은 제외).시간 내에 모든 트래픽을 성공적으로 처리한 방식DB PessimisticRedis IncrKafka + Redis.일부 성공을 하긴 하였지만, 트래픽을 버티지 못하고 성능 문제가 발생한 ..
🎯 Kafka Concurrency ControlRace Condition경쟁상태는 두 개 이상의 스레드가 공유 데이터에 액세스 할 수 있고, 동시에 변경을 하려고 할 때 발생하는 문제Race Condition 으로 동시에 들어오는 요청들이 갱신 전 값을 읽고, 수정하면서실제 갱신이 누락되는 현상이 발생SeriesJava Concurrency ControlDatabase Concurrency ControlRedis Concurrency ControlKafka Concurrency ControlCompare Concurrency Control🏹 Kafka분산 스트리밍 플랫폼으로, 주로 대규모 실시간 데이터 처리와 메시징에 사용리더 선출(Leader Election) 또는 협조적 소비자 패턴(Cooper..
🎯 Redis Concurrency ControlRace Condition경쟁상태는 두 개 이상의 스레드가 공유 데이터에 액세스 할 수 있고, 동시에 변경을 하려고 할 때 발생하는 문제Race Condition 으로 동시에 들어오는 요청들이 갱신 전 값을 읽고, 수정하면서실제 갱신이 누락되는 현상이 발생SeriesJava Concurrency ControlDatabase Concurrency ControlRedis Concurrency ControlKafka Concurrency ControlCompare Concurrency Control🏹 Redis incrRedis의 INCR 명령을 이용하여 특정 키의 값을 원자적으로 증가시키면서카운터나 임계값 제어 등의 작업에 사용하는 방법정의.Redis는 빠..
🎯 DataBase Concurrency ControllRace Condition경쟁상태는 두 개 이상의 스레드가 공유 데이터에 액세스 할 수 있고, 동시에 변경을 하려고 할 때 발생하는 문제Race Condition 으로 동시에 들어오는 요청들이 갱신 전 값을 읽고, 수정하면서실제 갱신이 누락되는 현상이 발생SeriesJava Concurrency ControlDatabase Concurrency ControlRedis Concurrency ControlKafka Concurrency ControlCompare Concurrency ControlDatabase Lock데이터베이스 락의 종류데이터베이스 락(Lock)의 종류와 역할공유 락(Shared Lock, Read Lock)데이터를 변경하지 않는 ..
🎯 Java Concurrency ControlRace Condition경쟁상태는 두 개 이상의 스레드가 공유 데이터에 액세스 할 수 있고, 동시에 변경을 하려고 할 때 발생하는 문제Race Condition 으로 동시에 들어오는 요청들이 갱신 전 값을 읽고, 수정하면서실제 갱신이 누락되는 현상이 발생SeriesJava Concurrency ControlDatabase Concurrency ControlRedis Concurrency ControlKafka Concurrency ControlCompare Concurrency Control🏹 Java Asynchronous동시에 들어오는 요청들이 갱신 전 값을 읽고, 수정하면서 실제 갱신이 누락before: 100, after: 99 // 갱신 전 값..