안녕하십니까. 8기 백엔드 지원자 홍해담입니다.

저는 이번 오픈 미션에서 동시성 제어와 분산락을 깊이 있게 실험하고 이해하는 것을 목표로 삼았습니다. 분산 환경에서 발생하는 경쟁 조건을 스스로 재현하고, 락 전략에 따라 시스템이 어떻게 달라지는지를 직접 구현하며 비교할 수 있는 실험 플랫폼을 만들고자 했습니다.

도메인은 우테코 페어 매칭 로직을 선택했고, LockingStrategy 구조를 기반으로 NONE / LOCAL / DB 비관적 락 / MySQL 네임드 락 / Redis 분산락을 모두 교체 실험할 수 있는 형태로 설계하고 구현했습니다. 단순한 구현이 아니라, 락의 원리를 공부하고, 각 락 방식의 차이를 비교하며, 실험을 통해 체감하는 과정이었습니다.

아래는 그 과정 전체를 기록한 페이지입니다.

🔒 도메인 선정, 설계

분산락 실습을 위한 도메인 선정과 아키텍처 설계 배경

🔒 LOCK 사전 이론공부

1. 프로세스 vs 스레드 (Process vs Thread)

2. 임계영역과 레이스 컨디션

3. 동기화와 상호배제, 락(Lock) 메커니즘

4. 상호배제 알고리즘- 뮤텍스, 스핀락, 세마포어

5. 원자성(Atomicity) 이해

6. 단일 서버 vs 다중 서버 환경에서의 동시성 차이

7. 비관적 락 vs 낙관적 락

8. Redis 분산락 vs DB 락

🔒 기본 매칭 프로그램 작성 (락 도입 전)