https://github.com/ImTaemin/flow
https://github.com/ImTaemin/website

Spring Boot 3(webflux)와 redis를 활용한 접속자 대기열 시스템

짧은 시간 안에 많은 트래픽이 인입되는 상황에 안정적인 서비스를 운영할 수 있게 해주는 시스템이며, 만약 이런 대기열 시스템이 없는 상태에서 짧은 시간 안에 대량의 트래픽이 인입된다면 어플리케이션에서는 다양한 문제들이 나타날 수 있다.

일반적인 유형이며, 트래픽이 점차적으로 장시간에 걸쳐 늘어나게 되면 백엔드 엔지니어들은 모니터링하면서 적절한 시기에 맞춰 서버 리소스를 증가시킬 수 있고, 필요에 맞춰 증가 및 감소를 할 수 있게된다.

예를 들어, 네비나 대중교통 앱 같은 경우 출퇴근 시간에 사용률이 올라갈 가능성이 꽤 높고, 그에 맞게 서버로 유입되는 트래픽이 변화하게 된다. 또 배달 음식 앱 같은 경우도 식사 시간대 및 야식을 먹을 시간에 요청 트래픽이 올라갈 수 있다.
선형적인 트래픽 증가보다 좀 더 가파르게 오른다고 볼 수 있는데, 가장 높은 트래픽에 맞춰 서버 리소스를 준비하던가, 자동화된 스케일 인 아웃을 통해 대응할 수 있다.

이런 뾰족한 형태는 짧은 시간 안에 대량의 트래픽이 인입되는 상태를 말하며, 이런 형태를 스파이크성 트래픽이라고도 부른다.
예를 들어, 2~3초 or 3~4초 or 10초 안에 평소 대비 10배에서 100배에 달하는 트래픽이 인입되었고 어느 정도 유지되고 있는 상황.