트래픽6 LINE 오픈챗 서버가 100배 급증하는 트래픽을 다루는 방법 - 본론1 서론에서 말했듯 LINE에서 활용하는 이벤트 기반 아키텍처의 개요는 아래와 같다. 🔥 오픈챗 서버에서는 메시지 전송과 메시지 리액션, 메시지 읽음 등과 같은 오픈챗 내 다양한 행위를 모두 이벤트로 간주하고 이벤트가 생성될 때마다 스토리지에 저장한 후 오픈챗에 참여하고 있는 모든 사용자에게 서버 푸시로 ‘새로운 이벤트가 생성됐으니 받아 가세요’라고 알린다. 서버 푸시를 받은 사용자(클라이언트)는 스토리지에 새로 들어온 이벤트를 페치(fetch) 이벤트 API로 받아가고 새 메시지 등을 화면에 추가하는 액션을 실행한다. 자 그럼 이제 핫 챗에서 급증하는 트래픽을 다룰 수 있는 LINE 만의 노하우를 알아보자. 🎮핫 챗에서 급증하는 트래픽을 다루는 방법 ✅Case 1. fetch 이벤트 API 요청 급증 이 .. 기술블로그 2023. 8. 2. LINE 오픈챗 서버가 100배 급증하는 트래픽을 다루는 방법 - 서론 📑서론, 오픈챗? 오픈챗은 메신저형 소셜 네트워크와 장점을 공유한다. 여러 사람이 동시에 소통할 수 있으며, 실시간으로 참여하지 않더라도 남겨진 메시지를 통해 수월하게 소통할 수 있다. 또한 접속만 하고 있다면, 참여 여부와 상관없이 인원과 채팅내역이 지속된다. 파일, 목소리, 단체통화 등 여러 형태로 소통이 가능하며 연동된 앱에 따라선 송금, 선물등의 행위까지 수월하게 할 수 있으며 대부분 모바일이 연동되므로 비교적 접속과 참여가 자유롭다. 한 오픈챗에 수천 명부터 수만 명의 사용자가 참여할 수 있고, 활발한 오픈챗은 한 오픈챗에서만 1분에 20만 개의 API 요청을 처리하기도 한다. 통계적으로 라인의 오픈챗 서버는 1분에 천만 개, 하루에 약 100억 개의 API요청을 처리하고 있다. 따라서 네이버의.. 기술블로그 2023. 8. 1. 네이버 메인 페이지의 트래픽 처리 - 마무리 지금까지 네이버가 메인 페이지에서 발생하는 트래픽을 어떻게 처리하는지 총 서론, 본편 1, 본편 2로 나누어 살펴보았다. 서비스 아키텍처 모식도를 다시 한번 살펴보며 정리하자. 🔔 서비스 요구사항 🔔 ❗어떤 서버로 접속해도 동일한 내용을 보여 주어야 하며, 특정 상탯값(사용자의 로그인 여부 등)에 의존하지 말아야 한다. ❗ 무슨 일이 있어도 사용자에게 서비스가 제공되어져야 한다. => 브라우저에 빈 페이지가 나타나선 안된다. => 메인 페이지에서 연동하는 외부 시스템은 늘 접속 불안정을 가정하고 빠른 실패 전략을 실행한다. ❗ 트래픽 증가에 탄력적으로 대처할 수 있어야 한다. => 트래픽이 폭주할 때 서버 증설만으로도 대응할 수 있어야 한다. => 각 컴포넌트(Web server, WAS)의 효율성을 극.. 기술블로그 2023. 7. 13. 네이버 메인 페이지의 트래픽 처리 - 본편 2 네이버 메인 페이지의 트래픽 처리 - 본편 1에서 정리한 네이버 메인 페이지의 서비스 요구사항과 기술 스택은 다음과 같다. 🔔 서비스 요구사항 🔔 ❗어떤 서버로 접속해도 동일한 내용을 보여 주어야 하며, 특정 상탯값(사용자의 로그인 여부 등)에 의존하지 말아야 한다. ❗ 무슨 일이 있어도 사용자에게 서비스가 제공되어져야 한다. => 브라우저에 빈 페이지가 나타나선 안된다. => 메인 페이지에서 연동하는 외부 시스템은 늘 접속 불안정을 가정하고 빠른 실패 전략을 실행한다. ❗ 트래픽 증가에 탄력적으로 대처할 수 있어야 한다. => 트래픽이 폭주할 때 서버 증설만으로도 대응할 수 있어야 한다. => 각 컴포넌트(Web server, WAS)의 효율성을 극대화할 수 있어야 한다. 1. GCDN(Global C.. 기술블로그 2023. 7. 13. 네이버 메인 페이지의 트래픽 처리 - 본편 1 서비스 특성상 네이버 메인 페이지가 실행하는 역할의 대부분은 데이터를 사용자에게 보여주는 역할 - view이다. 데이터를 받아서 저장하는 동작이 거의 없기 때문에 분산 처리나 다중화에서 트랜잭션을 고민할 필요도 없다. 이런 서비스 특성을 고려해 네이버 서버 개발팀이 도출한 요구사항은 다음과 같다. 🔔 서비스 요구사항 🔔 ❗어떤 서버로 접속해도 동일한 내용을 보여 주어야 하며, 특정 상탯값(사용자의 로그인 여부 등)에 의존하지 말아야 한다. ❗ 무슨 일이 있어도 사용자에게 서비스가 제공되어져야 한다. => 브라우저에 빈 페이지가 나타나선 안된다. => 메인 페이지에서 연동하는 외부 시스템은 늘 접속 불안정을 가정하고 빠른 실패 전략을 실행한다. ❗ 트래픽 증가에 탄력적으로 대처할 수 있어야 한다. => 트.. 기술블로그 2023. 6. 27. 네이버 메인 페이지의 트래픽 처리 - 서론 📑서론 PC나 스마트폰을 접하는 대부분의 사람들이 한 번 정도는 네이버 메인 페이지에 접근한 경험이 있을 것이다. 네이버는 기본적으로 트래픽이 많은 편이지만 사회적으로 이슈가 생겼을 때는 트래픽이 폭발적으로 늘어나게 된다. 위 사진은 2017년 11월 포항에서 지진이 발생했을 때 네이버 메인 페이지의 트래픽 변화를 나타낸 그래프이다. 파란색 선이 평상시의 트래픽이고, 급격하게 상승한 붉은색 선이 지진 발생 당시의 트래픽이다. 14시 30분 12초부터 트래픽이 상승하기 시작해 평상시 트래픽의 6배 수준이 될 때까지 30여 초밖에 걸리지 않았다. 네이버의 개발팀은 이런 상황을 어떻게 해결하는지 알아보자. 📑일반적인 분산 처리 모델 웹서비스에서는 일반적으로 3-Tier 분산 처리 모델을 활용한다. 클라이언트의.. 기술블로그 2023. 6. 24. 이전 1 다음