su3inni / cs-study

0 stars 0 forks source link

Network Architecture #11

Open su3inni opened 10 months ago

su3inni commented 10 months ago

Network Architecture

서비스를 외부 혹은 내부에 제공하기 위해서 필요한 지원을 위한 설계

1. Load Balancing

Load : 요청을 처리하기 위해 시스템이 일하는 정도 > request / traffic LB를 위치시키고 LB 뒤에 서버를 연결시켜 부하를 분산 시키는 구조이다. Virtual IP : Load Balancer 의 IP

2. CDN : Contents Delivery Network

가장 가까운 곳에서 요청자가 데이터를 가져갈 수 있도록하는 솔루션이다. 인터넷은 Network 라우팅의 복잡성, bandwidth의 한계, latency등 여러 이유로 빠르지 않을 수 있다.

CDN을 사용하면..

원본데이터 Origin Server가 있고 Edge Server에 데이터를 받아온다.

su3inni commented 10 months ago

Network Programming

1. Socket Programming

2. I/O Model

많은 I/O를 동시에 효율적으로 처리하기 위해서 I/O Model 필요

su3inni commented 10 months ago

Sync, Async, Blocking , Non-Blocking

Blocking / Non-Blocking

System Call을 호출했을 때 완료될 때 까지 대기하는지 아닌지에 따른 차이가 있다.

Sync/Async

System Call을 호출한 후 반환될 때 결과가 준비되어있는지 아닌지를 기준으로 구분한다.

su3inni commented 10 months ago

Context Switching

System Call을 줄이고 Context Switching을 줄여야 하드웨어 효율을 높일 수 있다.