Christy Choi
Django Developer at Your Service

Django Developer at Your Service

웹 브라우저에 Url을 입력하면 일어나는 일 - 인프라

Christy Choi's photo
Christy Choi
·Aug 21, 2021·

웹 브라우저에 naver.com을 입력하면 일어나는 일

주소 = URL + URI

  • URI: 식별자
  • URL: 위치지정자 naver.com
  1. DNS
    • URL을 입력했을 때 Naver의 IP를 알아야하기 때문에 DNS에게 질의를 한다
    • DNS는 분산형 DB
    • 리스폰스가 오면 IP 주소를 획득
  • hosts 파일: hosts 파일을 뭐라고 썼는지 먼저 찾음
  • DNS Cache: 캐쉬 결과를 보고 DNS에 안 물어봄
  • 질의: PC 설정에 따라 DNS에 질의
    • 공유기를 쓴다면 공유기가 DNS에 질의를 한다. 사설 IP 192.168.0.1 응답을 받는다
    • ISP에서 전달해준 DNS 설정을 쓰게 되어있음
    • DNS에 직접 질의
  1. IP 주소 획득
    • PC에서 Naver 서버(IP 주소)로 TCP 통신을 한다
  2. TCP 연결
    • HTTP는 TCP 연결을 기반으로 하기 때문에 TCP 연결을 한다
  3. HTTP 리퀘스트
    • HTTP Req -> Response
  4. Response로 돌아옴

추가적

부하 분산 구조

  • 웹 서버가 하나가 아니라 여러개로 중복시켜놓는다.
  • 여러 IP주소가 한 개의 호스트 이름에 대응한다.
  • 대량 트래픽으로 인한 서비스 부하를 피하기 위한 구조

구글이나 네이버정도 되는 회사는 GSLBCDN 서비스를 한다

커맨드창

image.png

이름을 봤을 때 (Akamai) CDN을 쓰고 있다고 알 수 있다

whois.nic.or.kr 여기에 address인 223.130.200.107를 넣어보고 정보 볼 수 있음


CDN을 사용하는 이유:

  • GSLB - DNS, System (DNS)
  • Health check를 위해

  • 서울 2. 도쿄 3.미국 4.부산

  • 서울이 디도스를 당해서 서울 서버가 맛이 갔다
  • 누가 접속하면 IP주소를 부산걸로 알려줌

유저가 서울 서버에 로그인을 한 상태에서 서울 서버가 다운되고 자기도 모르게 부산 서버로 접속이 되었다

  • 로그인 세션은 유지가 될까?
  • 유지가 되게 하려면 어떻게 설계해야할까?
  • Fail over와 부하분산을 어떻게 해결할 것인가?
  • 장애 대응 어떻게 할 것인가

  • 도쿄는 지진나면 자연재해에 의해서 DR(Disaster Response)


보안

  • DNS라는 걸 속여먹는 공격도 있다
  • DDoS에 공격받아 서버가 다운될 경우

도커 + 쿠버네틱스

  • 무중단 배포? 데브 옵스?
  • 서비스가 중지되지 않고 버전업하기
  • 잘하면 장애대응까지 됨

Did you find this article valuable?

Support Christy Choi by becoming a sponsor. Any amount is appreciated!

Learn more about Hashnode Sponsors
 
Share this