프로젝트 설명
콘서트 예약 프로젝트
고민 포인트
- 대규모 트래픽
콘서트 예약을 하기 위해서는 고민 해야 할 부분 점이, 인기 있는 B 아이돌은 30 만명 대기 수까지 도달하는 것처럼 엄청난 사람들(트래픽)을 감당할 수 있어야 한다.
- 동시성
같은 자원(콘서트의 좌석)에 접근할 경우에는, 예를 들어 두 명의 사람이 같은 좌석을 조회했을 경우에는 아직 예약되지 않은 상태이기 때문에 둘 다 예약이 가능한 경우가 생길 수도 있다. 이를 해결하기 위한 기술 (락)
KPT
KEEP
- 오류가 발생했을 때 혼자서 끙끙 거리지 않고 도움을 청했던 것
- 문제를 해결하기 위해서 최대한 최선을 다한 것
PROBLEM
- 초기에 생각했던 구조가 생각보다 많이 바뀌었던 것
- 테스트를 먼저 구현하지 않고, 시간이 부족해서 개발 먼저 진행했던 점
- 시간의 분배를 잘 하지 못했던 것
- 개발하다가 유튜브로 빠진 적이 있다. 이러면 발생하는 문제점이 개발하고 있는 도중 이였기 때문에 개발을 뭘 하고 있었는 지, 복기를 해야 할 때가 존재했다. 이러한 시간들이 모여서 너무 많은 시간을 지체가 되었음
TRY
- 구조 구성에 대한 생각을 하는 시간 더 투자
- 어렵더라도 무조건 테스트 구현해보기 (무조건은 아니지만, 테스트를 진행한다면 어떻게 흘러갈까 정도는 생각 하기)
- 집중해서 개발하기
- 기능별로 개발을 진행하고 기능이 끝나지 않을 경우에는 쉬지 않기
- 노래 틀다가 유튜브를 보는 경우가 많음 → 노래도 앱을 통해서만 듣기
느낀 점
동시성
동시성은 앞의 프로젝트에서도 동시성에 대해서 배웠지만, 동시성은 아직도 어렵기만 느껴지는 것 같다. 동시성을 해결하기 위한 방법도 너무 많아서 어떤 방식을 채택해야 할지의 기준점도 아직 안 세워져 있는 것 같습니다. 다양한 동시성을 써서 해결 해야 할 것 같은 생각이 들었다.
대기열
콘서트를 개발하면서 생각해야 할 부분들이 생각보다 많다는 생각이 들었다.
처음으로 대기열에 대해서 알게 되었다.
대규모 트래픽을 관리하기 위해 사용자의 접근을 제한하는 것을 이야기 합니다. 회사에서는 대규모로 사람들이 몰릴 일이 전혀 없었고, 이에 대해서 생각할 필요도 없었다.
하지만, 대기열은 생각보다 가까운 곳에 존재 했었다.
콘서트 예약, 인기 있는 게임 접속 시, 선착순 구매 쇼핑몰 등등 서버가 터지는 것을 방지하기 위해서 많은 곳에서 사용했었다.
새로운 기술들을 배울 때마다 회사의 서비스를 개발할 때마다 고민할 수 있는 포인트들이 넓어진다는 것에 뜻 깊었던 경험이었던 것 같았다.
'스터디' 카테고리의 다른 글
| [항해플러스] 5주차 WIL (2) | 2024.10.19 |
|---|---|
| [항해플러스] 4주차 WIL (4) | 2024.10.12 |
| [항해플러스]: 챕터 1을 마치고 (솔직 후기를 곁들인) (1) | 2024.10.05 |
| [항해플러스] 1주차 WIL (1) | 2024.09.28 |