[TIL - 230803] - 프로젝트 방향성 & 문제 정의

프림·2023년 8월 2일
0

항해 TIL

목록 보기
14/19
post-thumbnail

현재 프로젝트는 인프라 구축 및 자료 조사와 코드 작성이 진행 중이다.
그런데 문득 "시스템을 구축하고 나면 그 다음은 뭘 해야 하지? 우리가 풀고자 하는 문제가 뭐지?" 라는 생각이 들었다. 첫 단추가 중요하다. 우리는 문제를 해결하는 사람인데 문제 정의가 안되어 있다니... 그래서 양식을 작성하고 팀원들에게 이런 방향으로 가자고 설득했다. 팀원들도 나의 생각에 동의했고 이 양식을 이번 주 안으로 채우기로 했다.(노션은 양식이 예쁘던데...)


문제 정의

💡 대규모 트래픽 처리 시스템을 만들면 무엇을 테스트 하고 싶은지?
  • 현재 티켓 서비스가 어떤 문제를 주로 겪고 있는가?
  • 티켓 서비스가 난감해 하는 상황은?

급격한 티켓 매진 —> 스캘퍼 봇 방지 —> 시간당/분당 요청 횟수 제한,

**좌석 선택 충돌 —> 한명이 선택을 할 때 선점 기능을 만들어 줘야 .

결제 처리 지연 —> 이걸 미리 고민하면 스코프가 구체화 됨.

설계 과정

고려 사항

인스턴스 다중화

다중화를 해야 하는 이유:

사용 도구 :

1.클라우드 서버 사용

2.Docker & Kubernetes 사용

동시성 문제

동시성 문제를 고려해야 하는 이유:

사용 도구:

1.DB 트랜잭션

2.메시지 큐

데이터 일관성

데이터 일관성을 고려해야 하는 이유:

사용 도구:

1.분산 DB 시스템(Redis의 분산 락,Redis 클러스터 등)

2.샤딩 —> 대용량 트래픽 최적화 —> DB인덱싱 , 쿼리 최적화등 해볼거 다해보고 안되면 하는거 추천

데이터 베이스 선택

데이터 베이스 선택을 고려해야 하는 이유:

사용 도구:

1.SQL

2.NoSQL

캐싱

캐싱을 고려해야 하는 이유:

사용 도구 :

1.Redis

2.Memcache

그 외 사항

  • 과다 요청 방지(티켓 스캘핑 봇)
    • 과다 요청 방지를 고려해야 하는 이유:

      사용 도구:

  • CDN
    • CDN을 고려해야 하는 이유:

      사용 도구:

  • 사용자 결제 정보 보호
    • 사용자 결제 정보 보호를 고려해야 하는 이유:

      사용 도구:

profile
백엔드

0개의 댓글

관련 채용 정보