
📊 동시성 제어 방식 비교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..

동시성 문제와 스레드 로컬 동시성 문제 다수의 스레드가 동시에 같은 인스턴스 필드 값을 변경하면서 발생하는 문제 스프링 빈처럼 싱글톤 객체의 필드를 변경하며 사용할 때 주의 Sample Service @Slf4j public class FieldService { private String nameStore; // 싱글톤 객체의 공용 필드 public String logic(String name) { log.info("저장 name={} -> nameStore={}", name, nameStore); nameStore = name; sleep(1000); log.info("조회 nameStore={}", nameStore); return nameStore; } } Test @Slf4j public clas..

Enum Class의 동시성 이슈 troubleshooting #1 Enum Class가 싱글톤 성질을 가지고 있기 때문에 발생했던 동시성 이슈를 기록하고자 한다. (동시성 이슈﹖ 다수의 스레드가 동시에 같은 인스턴스 필드 또는 공용 필드 값을 변경하면서 발생하는 이슈) . 그 이슈는 바로바로.. 🥁🥁🥁 . ... Issue 구매 완료 알림 푸시가 내가 주문한 상품명이 아닌 다른 사람이 주문한 상품명으로 전달된 이슈였다. 예를 들어 사용자는 불고기버거 기프트콘을 주문했지만, 무소음 키보드 주문이 완료되었다는 구매 완료 알리 푸시를 받게 된 것이다. 정상 푸시 메시지 불고기버거 세트 기프트콘 주문이.. 문제의 푸시 메시지 무소음 키보드 주문이.. Problem 푸시 톡 클래스는 Enum 클래스인데, 아래와..

OS(Operating System, 운영체제)🌞 backend-loadmap{:target="_blank"} Part 03. OS 터미널 사용법 및 기본 명령🌟 grep, awk, sed, lsof, curl, wget, tail, head, less, find, ssh, kill Reference 16 Terminal commands every user should know 35 Linux Basic Commands Every User Should Know Linux 명령어 모음 Best 50 OS의 일반적인 작동 원리🌟 Operating System Computer User와 Computer Hardware(CPU, I/O) 사이의 인터페이스 역할 자원이 필요한 프로그램에 자원을 할당해주고, 자원을..
| 13. 동시성-"객체는 처리의 추상화다. 스레드는 일정의 추상화다" - James O. Coplien || 동시성이 필요한 이유?- 동시성은 결합(coupling)을 없애는 전략 (무엇what 과 언제when 를 분리)- 무엇과 언제를 분리하면 애플리케이션 구조와 효율이 극적으로 나아진다.ex) 많은 사용자를 동시에 처리하면 시스템 응답 시간을 높일 수 있음ex) 정보를 나눠 여러 컴퓨터에서 돌리면 대량의 정보를 병렬처리할 수 있음 ||| 동시성과 관련한 일반적인 미신과 오해1. 동시성은 항상 성능을 높여준다?- 때로 성능을 높여준다.- "대기 시간이 아주 길어 여러 스레드가 프로세서를 공유할 수 있거나, 여러 프로세서가 동시에 처리할 독립적인 계산이 충분히 많은 경우에만"2. 동시성을 구현해도 설계..