1. Redis 활용

문제 상황

고려 사항

  1. 프로세스 Lock(Synchronized)

프로세스에서 한 데이터를 쓰레드가 사용하면 다른 쓰레드가 사용하지 못하도록 막는 방식

서버가 여러 개 떠있을 때는(프로세스가 여러개) 프로세스 lock은 전혀 의미가 없게 된다.

현재 진행하는 프로젝트는 기본적으로 대용량 트래픽을 고려하고 설계하는 프로젝트. 이런 프로젝트의 아키텍처에서는 상황에 따라 서버를 증설하는 scale-out 방식을 고려한 설계가 필수적이라고 생각. 따라서 프로세스 Lock을 통해서는 동시성 문제를 해결할 수 없다고 판단.

  1. DB Lock

한 트랜재셕인 데이터베이스의 특정 데이터에서 작업을 하고 있다면 다른 트랜잭션이 접근하지 못하도록 막는 방식

  1. Redis 활용

2. Kafka 활용

1. 빠른 응답