다음은 웹 개발자를 위한 대규모 서비스를 지탱하는 기술을 읽고 정리한 내용입니다 🙌


  • 규모가 커지면서 트래픽이 커지면 문제가 발생한다. → 라우터의 성능 관점에서는 bps보다 패킷 단위인 pps가 더 중요하다. 사용하고 있는 라우터에서 감당하는 이상의 패킷이 송수신되면 문제가 발생한다.
  • 또한 호스트 수가 500을 넘어가면서 하나의 서브넷을 구성하면 여러 패킷 손실등이 발생하기도 한다.
  • 글로벌 서비스로 확장하면 데이터 센트럴 한군데 두었을 때 latency도 한계에 다다를 수 있다.

[강의38] 네트워크 분기점

1Gbps의 한계 - PC 라우터의 한계

  • 1Gbps 는 30만pps → 한계치이다.
  • 이것을 해결하기 위해서는 PC 라우터를 여러 대 병렬화 하던지, 고가의 라우터를 사용해야 한다.

500호스트의 한계 - 1서브넷 ARP 테이블에서의 한계

  • 스위치의 ARP(Address Resolution Protocol table)에서 한계가 있다.
    • ARP는 IP주소와 MAC 주소간의 관계를 나타내는 테이블이다.
  • 이 테이블의 크기에 제한이 있다. 그것을 넘어가게 되면 특정 호스트로 ping이 가지 않게 된다.
  • 서브넷 내에 호스트가 많으면 브로드캐스팅 패킷이 증가하여 트래픽이 부하를 생성한다.

네트워크 구조 계층화

  • 지금까지 언급한 문제에 대한 대책
    • 3단 구조로 네트워크를 계층화 하자는 것이다.
  • 3단 구조
    1. 가장 작은 것은 Access 계층
    2. 그 다음이 Distribution 계층
    3. 가장 위가 Core 계층 또는 OSPF 영역
    • 이렇게 가장 작은 서브넷에서 100대, 200대를 억제, 디스트리뷰션에서 1000대, 코어 전체에서 100000 단위로 다룬다.
  • Distribution 영역간 트래픽을 제어해서 너무 증가하지 않도록 하고 서브넷 내에서의 통신량을 제어한다.

글로벌화

  • CDN을 사용해서 여러 곳에 배치된 데이터센터를 활용해 latency를 줄인다.

[강의39] 한층 높은 단계로

웹 서비스 인프라의 핵심

  • 저비용, 높은 확장성
  • 적당하면서 충분히 높은 신뢰성
  • 기술 4가지
    • 확장성
    • 다중화
    • 효율향상
    • 네트워크