우리는 네이버, 구글 등의 웹사이트에 접속할 때 도메인 주소라는 것을 검색하여 접속한다.
도메인 주소는 인터넷에서 웹사이트를 찾기 위해 사용되는 사람이 읽기 쉬운 주소이다.
도메인 주소는 사람이 이해할 수 있는 형식으로 작성되어 있어서,
naver.com
google.com
과 같이 기억하기 쉬운 이름으로 되어 있다.
실제로 인터넷을 통해 통신할 때는
이 도메인 주소가 해당 웹사이트의 IP 주소로 변환되어 서버와 통신이 이루어진다!
흔히 URL(Uniform Resource Locator) 이라고 쓰기도 하는데
이거는 도메인에 경로도 포함되어 있는 주소이다.
프로토콜/도메인/경로
웹사이트 구조
1. 사용자 요청
사용자는 웹 브라우저나 모바일 앱을 통해 네이버를 접속하기 위해
검색창에 naver.com 을 작성 후 'Enter'을 친다. (사용자의 요청)
2. 네트워크 로드 밸런싱
전 세계적으로 사용자에게 빠르고 안정적인 서비스를 제공하기 위해 여러 데이터 센터에 서버가 배치되어 있다.
사용자의 요청은 DNS(Domain Name System)을 통해 가장 가까운 데이터 센터로 라우팅 된다.
각 데이터 센터에는 로드밸런서가 설치되어 트랙픽을 관리하고, 각 서버에 부하를 분산시킨다.
3. 웹 서버
로드 밸런서로부터 전달받은 요청은 웹 서버로 전송된다.
웹 서버는 주로 정적 파일이라는 HTML, CSS, JavaScript, 이미지 등을 제공하며,
동적 요청은 애플리케이션 서버로 라우팅 된다.
웹서버는 대부분 Nginx, Apache 와 같은 소프트웨어를 사용한다.
4. 애플리케이션 서버
애플리케이션 서버는 비즈니스 로직을 처리하고, 데이터베이스와의 상호작용을 담당한다.
사용자의 요청에 따라 데이터베이스에서 필요한 정보를 검색하고,
웹 페이지나 API를 통해 동적으로 생성하여 사용자에게 반환해준다.
애플리케이션 서버에는 여러 프로그래밍 언어와 프레임워크를 통해 개발되어지며,
여기에는 Java(Spring), Python(Django), JavaScript(Node.js)가 있다.
이들은 서버 사이드 프레임워크나 런타임 환경이다.
5. 데이터베이스 서버
애플리케이션 서버는 데이터베이스 서버와 통신하여 데이터를 저장하거나 검색한다.
대규모 웹사이트에서는 다양한 데이터베이스 시스템을 사용할 수 있으며,
관계형 데이터베이스(SQL)와 NoSQL(Not only SQL) 데이터베이스(MongoDB, Redis) 등 을
혼용하여 스키마된 데이터와 비정형 데이터를 관리한다.
6. 보안 및 모니터링
다양한 보안 시스템과 프로토콜을 사용하여 데이터를 암호화하고 네트워크를 보호한다.
또한 모든 시스템과 네트워크 활동을 실시간으로 모니터링하고,
잠재적인 보안 위협이나, 성능 문제를 식별하여 해결하기 위한 모니터링 도구와 로깅 시스템을 운영한다.
7. 데이터 센터와 클라우드 인프라
네이버 같은 경우는 자체 데이터 센터를 운영하여,
클라우드 서비스를 활용하여 유연하고 확장 가능한 인프라를 구축한다.
이를 통해 사용자의 요구에 따라 트래픽을 관리하고,
서버 리소스를 동적으로 할당하며, 장애 복구 및 백업을 수행한다.
8. CI/CD 와 자동화
소프트웨어 개발 및 배포 과정을 자동화하기 위해
CI(Continuous Integration)와 CD(Continuous Deployment)를 구현한다.
코드 변경 사항은 자동으로 빌드되고 테스트되며,
프로덕션 환경에 자동으로 배포되어 사용자에게 신속하고 안정적인 서비스를 제공한다.
'Computer Science > Computer Network' 카테고리의 다른 글
| [OSI 7계층]네트워크 계층 (0) | 2024.07.15 |
|---|---|
| 웹사이트 접속 과정 (0) | 2024.07.07 |
| 패킷 교환 방식과 IP address (0) | 2024.07.05 |
| 컴퓨터 네트워크 (0) | 2024.07.05 |