티스토리 뷰
웹 애플리케이션 아키텍처의 정의
애플리케이션 구성 요소, 미들웨어 시스템, 사용자 인터페이스, 데이터베이스 간의 상호 작용에 대한 레이아웃. 상호 작용을 통해 응용 프로그램이 동시에 함께 작동할 수 있음.
검색 사이트에 검색을 하고 결과의 링크를 누르면 클라이언트에서 서버로 요청이 간다. 그러면 서버는 요청에 대한 응답을 클라이언트에게 보낸다. 이런 식으로 간단하게 웹 애플리케이션은 상호 작용을 한다.
웹 애플리케이션 아키텍처의 구조
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
- solidity
- github
- postman tests
- python3
- pm.test
- Squash and merge
- 코틀린
- postman collection
- 1차 인터뷰
- git
- java
- 2차 인터뷰
- squash merge
- hashcode
- mysql
- Kotlin In Action
- Kotlin
- pm.expect
- 네이버 2022 공채
- DGS Framework
- 주생성자
- 확장 함수
- go 특징
- graphql
- 코딩테스트
- downTo
- Basic Type
- Python
- postman
- string
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |