ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Web] 웹 서비스 구성 요소
    CS/Web 2023. 1. 9. 15:27

    글 작성 계기 ( 참고 벨로그 )

    포트폴리오 작성하면서 너무 별 생각 없이 짜는 기분이 들어 구성요소들에 대해 제대로 짚어보고 계획에 맞게 짜기로 결정

    현대의 웹 서비스 구성 요소들

    과거에는 단순히 클라이언트 - 서버 로 구성되었던 웹이 속도와 관리의 용이를 위해 로그서버, 웹 캐시, 파일 서버 등으로 세분화 됨.

    1. CDN 
    2. Load Balancer
    3. Web Application Service (WAS)
    4. DataBase
    5. File Storage
    6. Cache Service
    7. Message Queue
    8. Log Service
    9. Log Storage
    10. Other Service ( Authorization, Payment, Open Data, ...) 

    웹 구성 요소들

    1. CDN ( Contents Delivery Network )

    • 웹 서비스의 지연 시간과 서버의 부하 감소 위해 만들어진 컨텐츠 캐시 서버
    • 만약 사용자가 특정 서비스의 컨텐츠를 가져오려는 요청 시 가까운 곳에 CDN 서버 있다면 가져옴
    • 없을 시 파일 서버 || 웹 서버로 요청 보내서 처리 
    • eg) Cloud Flare, Cloud Front ( AWS ), 글로벌 서비스의 Latency (지연 시간 ) 을 감소 시켜주는 CDN 

    2. Load Balancer 

    • 서비스로 들어온 요청을 적절한 WAS ( Web Application Service ) 로 라우팅 해주는 서비스 
    • WAS의 상태를 주기적으로 체크하여 단일 서버에 대한 집중 피해줌 
    • eg) AWS ALB, Ngnix 

    3. WAS 

    • 백엔드 개발자가 개발하는 웹 서비스 어플리케이션 
    • 웹 서버의 구현체 ( By Spring, Go, Node.js, Django)  
    • 주로 DB나 File Storage 같은 저장소에서 데이터 가져와 조합 및 응답 생성 
    • eg ) Monoltic 구조, Micro Service 구조 , Serverless 구조

    4. DB

    • 서비스의 데이터의 저장소 
    • 주로 사용자 정보, 물건 정보 같은 정보성 데이터 저장
    • 이미지,HTML 같은 파일성 데이터는 File Storage에 저장 하고 DB에는 그것의 URL만 저장
    • 요즘에는 AWS 같은 Cloud 플랫폼 제공 DB를 사용하는 추세

    5. File Storage 

    • 이미지 , HTML, 동영상 파일등 정적인 컨텐츠 저장소
    • eg ) AWS S3, Blob Storage

    6. Cache Service

    • 웹 서비스내의 서비스들이 이용할 수 있는 Cache를 제공해주는 서비스 
    • 영구 데이터를 저장하는 저장소의 Cache Layer 역할 및 여러 서버로 나눠진 WAS의 공용 State 저장 역할
    • 주로 key-value 저장 형태 
    • WAS는 데이터를 가져올 때 Cache Service를 먼저 확인 하고 없으면 DB에서 가져옴 ( 이때 가져오기 성공 시 캐시에 저장) 
    • eg) 공용 상태 저장소 Session , 글로벌 상태 저장 및 메시지 교환 Redis, Memcache

    7. Message Queue

    • 분산 시스템에서 비동기로 메세지를 송수신 해주는 서비스
    • eg) Kafka, RabbitMQ, activeMq

    8~9. Log service &   Log Storage

    • 전체 시스템들의 Log 저장 및 관리 
    • 개발 + 시스템 로그 

    10. 외부 서비스

    • eg) OAuth - google, kakao, naver 인증 
    • 결제 - PG , 카카오페이, 네이버 페이
    • 채팅 - SendBird, ChnnelTalk
    • 마케팅 분석 - google Analytics 
Designed by Tistory.