대용량 트래픽이 어려운 이유가 무엇인가요?
367
작성한 질문수 1
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)
[질문 내용]
치킨 이벤트나 콘서트 티켓팅 등 같은 시간에 딱 맞추어 발생하는 대용량 트래픽은 최대한 Stateless 하게 개발하는 것이 중요하다고 하셨는데, 어떤 도메인에서는 아예 로그인도 풀려버리고 홈페이지 접속조차 안되는 상황이 발생하는 반면 콘서트 티켓팅이나 수강신청의 경우 대기번호(queue?)를 주어 로그인이 풀리거나 사이트에 접속이 안되는 경우가 없도록 하는 경우가 있습니다. 전자와 후자의 경우에서 "상태"의 차이, 서버 증설 규모의 차이, 대기큐 유무 중 어떤 것이 제일 대규모 트래픽을 감당하는데에 중요하다고 생각하시나요? 이외에도 대규모 트래픽을 수용하는 것에 있어서 중요한 요소가 있다면 알고 싶습니다. 페이지 앞단에 정적인 페이지를 두어 클라이언트의 시선을 분산시키는 것 등의 방법 말고 기술적인 측면에서만요.
답변 1
1
안녕하세요, 인프런 AI 인턴입니다.
대규모 트래픽을 처리하는 것은 여러 기술적 요소들이 잘 맞물려야 가능한데요, 조재현님이 말씀하신 대로 서버의 상태 관리, 고사양의 서버 증설, 대기큐 시스템 등등 다양한 요소들이 있습니다. 이를 조금 더 자세히 설명해 드리겠습니다.
Stateless 설계의 중요성: Stateless 하게 시스템을 설계하면, 각각의 요청이 독립적으로 처리될 수 있어 서버의 확장성이 높아집니다. 즉, 서버가 특정 클라이언트의 상태를 기억할 필요가 없으므로 새로운 서버를 추가하여 쉽게 확장이 가능하게 됩니다. 하지만 로그인 정보나 사용자 세션과 같은 것은 보통 stateful 하게 관리됩니다. 이 부분은 별도의 데이터베이스나 세션 관리 시스템을 통해 유지되어야 합니다.
서버 증설(Scalability): 대규모 트래픽을 처리하기 위해 Server Load Balancing을 통해 여러 서버로 트래픽을 분산시킬 수 있습니다. 서버 증설을 통해 시스템의 총 처리 용량을 높일 수 있으며, 이는 가용성을 높이는 데에도 기여합니다.
대기열 시스템: 대기 번호를 부여하는 시스템은 순간적으로 몰리는 요청을 관리하는 데 유용합니다. 이를 통해 사용자가 서버에 직접 과부하를 주지 않고 순차적으로 서버에 요청을 보낼 수 있습니다. 이는 사용자가 시스템의 상태를 이해하고 기다릴 수 있게 하여 사용자 경험을 개선합니다.
또한, 성능 최적화를 위한 추가적인 요소로는 다음과 같은 것들이 있습니다:
- 캐싱: 정적 콘텐츠를 캐싱하여 서버의 부하를 줄입니다.
- CDN(Content Delivery Network) 사용: 정적 파일을 위치에 따라 최적의 서버에서 제공하여 로드 시간을 줄입니다.
- 비동기 프로세싱: 일부 작업을 비동기적으로 처리하여 서버의 응답 속도를 높일 수 있습니다.
유사한 주제의 질문으로 도움이 될 만한 답변들은 아래 링크들을 참고해 주세요:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
캐시무효화시 그냥 no-store만 넣어되지 않나요?
0
68
2
API의 헤더와 바디에 대한 문의 입니다.
0
70
2
수정폼과 수정
0
66
1
쿠키에 대해 질문드려요!
0
88
2
서버에서 캐시 검증 헤더를 직접 처리해야 하나요?
0
86
1
http api get, post 멱등
0
39
1
컬렉션의 개념
0
47
1
시작라인에 들어가는 요청 대상 경로는 상대 경로 아닌가요?
0
51
1
PATCH 는 PUT처럼 멱등이여야 하지 않나요?
0
80
1
리소스 질문드립니다
0
55
1
IP 패킷 질문입니다.
0
58
1
html from, http api
0
74
2
브라우저 캐시가 60초 유효하다는게 무슨 뜻일까요
0
120
1
stateless 무상태 예제가 생각났는데. 저가 생각 한게 맞는지 궁금합니다.
0
98
1
URI 및 URL 질문, 왜 자바(스프링)에서는 이렇게 나누었는지?
0
139
1
host와 port
0
106
1
tcp/ip는 연결을 유지? 아니면 유지하지 않음?
0
144
1
다음 강의 커리큘럼 질문!!
0
129
2
캐시 개념에 대해서 설명하시지는 않으시는건가요?
0
113
1
클라이언트가 patch, delete 요청 시 알아야 하는 url
0
90
1
html form 형태 전송시 new, edit 등 컨트롤 리소스를 사용하는 이유
0
168
2
비 연결성(connectionless) 강의에서 질문입니다~
0
139
1
PATCH를 사용하지 못할 때 왜 POST?
0
161
2
협상과 우선순위3 질문드립니다.
1
129
1





