서버 이중화에 대하여 - L4, L7, 로드밸런싱
현재 실제 많은 서비스 들은 대부분 서버 이중화가 되어있다.
오늘은 서버이중화의 구조에 대해 포스팅하려고 한다.
📌 이중화란?
시스템의 가용성을 높이기 위해 장비를 다중화 시키는 방법을 말한다.
가용성이란 N개의 서버 장비 중 하나의 서버 장비가 문제가 생겨도 다른 장비에서 서비스가 될 수 있도록 구현하여 서비스가 다운되지 않고 정상적으로 유지된 시간이 길어지는 것이다.
uptime(정상 서비스 시간) / uptime + downtime(총 서비스 시간) = 가용성
📌 로드밸런싱
L4 스위치란 OSI 7 Layer 중에서 4계층(transport)에 해당하는 장비 즉, 들어온 데이터를 로드밸런싱 해주는 장비를 말한다.
여기서 로드밸런싱이라는 말은 어려워 보이지만 간단하다.
로드밸런싱은 우리말로 해석하면 부하분산이다. 서버의 부하가 균등하게 유지되도록 분산하여 할당해주는 것이라고 이해하면 된다.
이러한 로드밸런싱의 기법은 여러가지가 있다. 활용할 수 있는 부하 분산 방식(로드밸런싱 알고리즘)에 어떠한 것들이 있는지 알아보자.
- 라운드로빈 방식(Round Robin)
서버에 들어온 요청을 순서대로 돌아가며 분산하는 방식이다. 클라이언트의 요청을 순서대로 분배하기 때문에 여러 대의 서버가 동일한 스펙을 갖고, 서버와이 연결(세션)이 오래 지속되지 않는 경우에 활용하기 적합하다.
- 가중 라운드로빈 방식(Weighted Round Robin)
각각의 서버마다 가중치를 매기고 가중치가 높은 서버에 클라이언트 요청을 우선적으로 배분한다. 주로 서버의 트래픽 처리 능력이 상이한 경우 사용되는 부하 분산 방식이다. 예를 들어 서버 A가 5라는 가중치를 갖고 서버 B가 2라는 가중치를 갖는다면, 로드밸런서는 라운드로빈 방식으로 서버A에 5개 서버B에 2개의 요청을 전달한다.
- IP 해시 방식(IP Hash)
클라이언트의 IP 주소를 특정 서버로 매핑하여 요청을 처리하는 방식이다. 사용자의 IP를 해싱해(Hashing, 임의의 길이를 지닌 데이터를 고정된 길이의 데이터로 매핑하는 것) 로드를 분배하기 때문에 사용자가 항상 동일한 서버로 연결되는 것을 보장한다.
- 최소 연결 방식(Least Connection)
요청이 들어온 시점에 가장 적은 연결상태를 보이는 서버에 우선적으로 트래픽을 배분한다. 자주 세션이 길어지거나, 서버에 분배된 트래픽등이 일정하지 않은 경우에 적합한 방식이다.
- 최소 리스폰타임(Least Response Time)
서버의 현재 연결 상태와 응답시간을 모두 고려하여 트래픽을 배분한다. 가장 적은 연결상태와 가장 짧은 응답시간을 보이는 서버에 우선적으로 로드를 배분하는 방식이다.
📌 L4 로드밸런싱과 L7 로드밸런싱
네트워크 통신 시스템은 크게 일곱 가지의 계층(OSI 7 Layers)으로 나뉜다.
각각의 계층이 L1, L2, L3 .. L7에 해당하는데 상위 계층에서 사용되는 장비는 하위 계층의 장비가 갖고 있는 기능을 모두 가지고 있으며, 상위 계층으로 갈수록 더욱 정교한 로드밸런싱이 가능하다.
'IT knowledge' 카테고리의 다른 글
컴퓨팅사고 - 정보의 표현(문자, 사진, 영상, 음악 - 정보처리 방식) (0) | 2022.01.03 |
---|---|
[컴퓨터 기초 지식] 컴퓨팅사고 - 컴퓨터 과학, 2진법 (0) | 2022.01.03 |