HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
🤩
개발
/네트워크(Network)/
🗽
Web 기본
/
🏏
Web Application Architecture
🏏

Web Application Architecture

[참고] https://litslink.com/blog/web-application-architecture — Modern Web Application Architecture Explained: Components, Best Practicers and More 2021.4.23)
notion image

Load Balancer

  • 주로 horizontal scaling을 하게 됨. 들어오는 requests를 여러 개의 서버 중 한개에다가 할당해 줌
  • 로드밸런서에 의해 task를 어느 한곳에 몰리지 않게 분배해줌

Job Queue(Optional)

  • Job queue는 2개의 컴포넌트로 이루어 지는데, Job Queue와 Job Server임
  • 대부분의 서버가 많은 양의 작업을 처리하고 있을 때, job queue에 해당 job을 보내어 스케줄에 맞게 처리되도록 함

Data Warehouse

  • 거의 모든 현대의 어플리케이션들은 데이터 수집, 저장, 분석의 과정을 포함하게 됨. 해당 프로세스는 아래와 같은 단계가 필요함
    • data 가 data “firehose”로 보내짐 — provides a streaming interface for absorption and processing of data ( 카프카 등)
    • Raw, processed, and additional data is sent to cloud storage
    • processed and additional data also go to a data warehouse

CDN(Content Delivery System)

  • HTML 파일, CSS 파일, JavaScript 파일, 이미지 등을 보내는 걸 담당함
  • end server의 content를 세계로 전달함.
  • 캐쉬 서버. 전세계에다가 캐쉬 서버를 분산 배치 해놓고 근접한 사람의 요청을 처리하도록 함