1. 기술 매니저님 멘토링

Row의 잠금을 길게 가져가는게 아니다.

Producer를 통해 예약 신청을 Queue에 넣어두고, 이를 Consumer가 받아 DB booking Table에 등록하는 방법 이를 통해, Booking Table에 Transaction을 걸어야 할 필요가 없어지며, TPS적인 부분도 속도가 상승한다. Kafka 는 Broker가 적어도 3개 이상 존재해야 하며, Leanring Curve가 조금 있으니, Redis로 구현하는 것을 추천한다. 또한, MSK, Kinesis등 다양한 스트리밍 서비스가 있다.

Redis의 분산 Lock : RedLock → 다음 멘토링 시간에 설명해주나, 미리 알아보자. Redis의 Pub/Sub 기능을 통해 Message Queue를 구성할 수 있다. 또한, DB의 Booking Table에서 Counting 하는 것을, Redis로도 Count가 가능하다 (DB에서 카운트를 샐 때마다 락이 걸려서 나오는 카운트도 다를거고 난리가 난다. 그래서 DB 에서 모든 역할을 하기 떄문에 redis 로 카운트를 뺀다.) Ex) **booking:{bookingId}:count

@**부킹을 그룹바이를 하면 락이 걱정되고 성능에 문제가 생길 수 있음 근데 레디스에서 하면 락을 걱정하지 않아도 된다.

1. DB만 사용하는 방식으로 시퀀스 다이어그램을 그린다. 2. 이걸 구현한다. (api/v1) 3. 테스트 방법을 준비한다. 4. Redis 큐 예약 방법 시퀀스 다이어그램을 그린다. 5. Bull.js, 컨슈머, 로직 검토해야 한다. 6. 예약 프로세스 v2 api를 만든다. 7. 테스트