2022. 12. 23. 19:09ㆍCS
기술면접을 진행하면서 로드밸런서의 하드웨어적인 부분과 소프트웨어적인 부분에 관련된 질문이 들어왔다.
내가 알고있는 로드밸런서는 L4 / L7과 비슷한 역할을 하는 아파치카프카가있었기때문에 이 두가지를 이야기하였다.
면접이 종료되고 검색한결과 CDN이라는 기법도 존재하였다. 그래서 오늘은 로드밸런서에 대해서 작성해보겠다.
먼저 여러 서버가 분산 처리 하는것을 로드 밸런싱이라고 한다.
요즘은 여러개의 서버를 운용하기때문에 한 서버로 트래픽이 몰렸을 경우 그 트래픽을 여러개의 서버로
잘 분산해서 전달해주는 역할이 필요하다.
그렇다면 L4 / L7은 무엇일까?
L4 : Transport 계층을 사용, IP 주소와 포트 번호 부하 분산이 가능
L7 : Application 계층을 사용, URL 또는 HTTP 헤더에서 부하 분산이 가능
L은 Layer의 약자로 OSI 7계층의 해당 계층에서 작용을 한다는 것이다.
그렇다면 CDN은 무엇일까?
Content Delivery Network의 약자로 지리적 제약 없이 전 세계 사용자에게 빠르고 안전하게 콘텐츠를 전송할 수 있는 콘텐츠 전송 기술을 의미한다. CDN은 서버와 사용자 사이의 물리적인 거리를 줄여 콘텐츠 로딩에 소요되는 시간을 최소화 한다는것이다.
예를들어 우리가 인스타그램을 사용할경우 미국 본토에 있는 서버로 접속을 하는게 아니라 한국 어딘가에 존재하는 한국유저용 서버에 접근해서 데이터를 불러오는 것이다. CDN서버는 실시간으로 데이터를 최신화하여 보관할까?
'CS' 카테고리의 다른 글
포인터(Pointer) (0) | 2022.12.29 |
---|---|
의존성 주입(Dependency Injection) (0) | 2022.12.28 |
추상화 (0) | 2022.12.28 |
제어의 역전(Inversion of Control) (0) | 2022.12.28 |
HATEOAS (0) | 2022.12.24 |