티스토리 뷰

개발직설

[Web] 웹 애플리케이션 아키텍처

SdardewValley 2022. 5. 13. 23:02
반응형

웹 애플리케이션 아키텍처의 정의

애플리케이션 구성 요소, 미들웨어 시스템, 사용자 인터페이스, 데이터베이스 간의 상호 작용에 대한 레이아웃. 상호 작용을 통해 응용 프로그램이 동시에 함께 작동할 수 있음.

 검색 사이트에 검색을 하고 결과의 링크를 누르면 클라이언트에서 서버로 요청이 간다. 그러면 서버는 요청에 대한 응답을 클라이언트에게 보낸다. 이런 식으로 간단하게 웹 애플리케이션은 상호 작용을 한다.

 

 

웹 애플리케이션 아키텍처의 구조

DNS

 DNS는 Domain Name System의 두문자어이다. DNS를 통해 도메인 이름으로 IP 주소를 알 수 있다.

 

Load Balancer

 Load Balancer는 수평적 확장을 처리한다. 그림의 가운데 있는 Web app servers를 보면 알 수 있듯이 일반적으로 서버는 여러 개가 존재한다. 로드 밸런서는 여러 개의 서버에게 요청을 분산하는 역할을 한다.

 

Web App Servers

 흔히 WAS라고 부르는 웹 애플리케이션 서버이다. 서버는 데이터베이스, 캐시 서버 등의 다른 백엔드 인프라들과 상호작용 하며 사용자에게 받은 요청을 처리한다.

 

Databases

  이름 그대로 데이터를 저장한다.

 

Caching Service

 캐싱 서비스에서는 데이터에 대한 저장소를 제공한다. 해당 저장소에 데이터를 저장하고 검색할 수 있다. 

 

Job Queue & Job servers

 서버가 처리해야하는 작업들이 있다. 작업들은 Job Queue와 Job Server로 이동하여 스케줄에 따라서 처리된다.

 

Full-Text Search Service

 검색 엔진에 검색어를 넣고 검색을 하면 관련성이 높은 것이 제일 위에 있다. 이를 실현해 주는 것이 full-text search service이다. 키워드를 사용하여 방대한 데이터 중에서 필요한 데이터를 검색한다.

 

Services

 별도의 애플리케이션의 형태로 서비스가 존재하기도 한다. 웹 애플리케이션은 이러한 서비스와 상호 작용을 하기도 한다. 

 

Data Warehouse

 비디오, 사진 등과 같은 다양한 파일을 저장하는데 사용한다.

 

CDN

 Content Delivery System의 두문자어. HTML, CSS, Javascript, 이미지 파일 전송을 처리한다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함