f-lab-edu / ticket-seller

1 stars 1 forks source link

대기 서버 구상 - 2번째 수정안(메시지 큐, CQRS 등) #12

Closed jaejeong1 closed 1 year ago

jaejeong1 commented 1 year ago

image

기존 대비 변경된 점

  1. Nginx 웹서버에서 요청이 오면 바로 티켓팅(요청 별 순번 ID 부여) 진행 프로세스 추가
  2. 대기 서버의 역할을 대기 순번 조회와 대기 인원 감소로 역할을 나눠 Command(순번 조회), Query(인원 감소)의 특성에 따라 다른 성능 최적화(DB 등)가 가능하도록 함
  3. 여기서 대기 순번 조회는 완벽한 실시간성이 필요하지 않기 때문에 풀링 방식으로 구현
  4. 대기 서버와 예약 서버 사이 메시지 큐 추가, 들어온 순서대로 대기 요청을 메시지 큐에서 꺼내 순서대로 예약 진행

다음 고려사항

heeve1 commented 1 year ago

어떻게 구현하실지 구체적으론 잘 모르지만,

  1. 예약풀이 다 찼는가를 빼고 구현하면 좀더 간단해질것 같은데 어떨까요? (예약은 무조건 메시지 큐를 통해 진행하는 것으로)
  2. 대기인원감소는 대기서버->메시지큐 사이가 아닌 메시지 큐 -> 에약서버 사이에 있어야 하지 않을까용? ㄴ 아하 저 메시지 큐가 msa의 비동기 통신용으로 사요하는 그 메시지 큐를 의미하시는 거라면 지금 구조가 맞으려나요?
jaejeong1 commented 1 year ago
  1. 네, 1번 건은 사용자 편의를 위한 추가 요구사항으로 봐도 괜찮을 것 같습니다. 우선 1번은 후순위로 두고 진행하겠습니다.
  2. 네, 실제로 예약 처리를 위해 넘어가야 인원이 감소되어야 하는데, 자료 수정이 필요할 것 같습니다. 수정하여 업로드하겠습니다!