티스토리 뷰

네트워크 부하 분산이란? : 트래픽을 최적의 서버 분산을 통해 효율적으로 처리함으로써 네트워크 부하를 줄이는 것.


- 서버 부하 분산 기술이란 물리레벨에서 어플리케이션 레벨까지 모든것을 집약한 기술이므로, 네트워크 기술이 있어야만 한다.


해당기술을 알아두면 좋은 ,, 직책은 네트워크 관리자, 서비스 관리자, 시스템 엔지니어.. 라고...


서버 부하 : 서버 부하란,? 서버 관리 그 자체를 의미, 클라이언트가 요청하고 부터의 서버의 처리과정들 간에 서버 부하가 이루어진다.

서버가 가지고 있는 요소들이 동작하는것 = 부하


분산 : 동일한 서비스(http/ftp 등) 을 제공하고 있는 복수의 서버에 작업을 분배하는 것을 말한다.


여기서 어떻게 분배를 하는가, 그것이 곧 서버  부하 분산 기술의 모든것이라고 봐도 된다고 한다.


클라이언트의 접속, 요청 그 자체가 서버 부하의 시발점.


클라이언트 접속 > 부하 분산 기술 -> 다수의 서버로 분산되어 처리



그렇다면 이점은 무엇일까?


크게 나누면 세가지라고 한다.


- 처리 능력의 향상

- 장애 대처 능력의 향상

- 유지관리 효율 향상


서버 처리 능력의 향상

- 크게 두가지 접근 방법으로 나뉜다.

스케일 업/ 스케일 아웃


스케일 업 ( 서버 자체의 성능 향상, 100명 처리 가능한 서버의 성능을 1000명이 가능하도록 올리는 방법.)

스케일 아웃 ( 처리하는 서버의 수를 늘리는 방법)


요즘은 유연성이 높은 스케일 아웃이 주류로, 서버 부하분산이 그 중심이다.


인터넷 서비스가 점점 중요해지는 만큼, 멈추지 않는 시스템은 절대 조건이라 한다.


ㅣ렇게 하나의 서버가 다운되더라도 부하분산 기술을 사용하여 다른 서버가 서비스를 제공하게 할수있다.(장애 대처 능력의 향상)


또한 서버 부하분산 기술을 사용하면, 서버 패치 적용이나 소프트웨어 업데이트에 있어 하나의 서버만 먼저 적용하여 영향도를 체크하고, 순차 적용할 수 있기때문에 단일 서버로 운용하여 서비스를 하는것보다 안전하고 효율적이다.




그렇다면 서버 부하 분산 기술은 어떤게 있을까?


세가지 방식이 있다고 하는데 먼저 DNS라운드 로빈, OS타입, 어플라이언스 타입. 



DNS라운드로빈,

이름을 듣자마자 어떤느낌인지 감이 온다.

먼저 그래도 정리하는거니까 DNS부터...


DNS란? : 도메인 네임을 분석하기위한 프로토콜, 우리가 네이버를 들어갈때, 네이버의 IP 를 입력하기엔 귀찮고 외우기도 힘드니, naver.com이라고 입력하는 것 처럼, 

메인 네임이란 IP 주소에 이름을 붙인다고 새각하면된다.

DNS서버는 도메인 네임을 통하여 서버의  IP주소를 제공하여 올바른 주소로 접속하게 해준다.

결국 클라이언트는  naver.com으로 접근하는게 아닌 naver.com 을 dns서버에서 ip를 받아오고, 그 IP 로 접근하는것. 

DNS 라운드 로빈이란 결국 순차적으로 요청자마다 서버의 IP를 달리 주어 요청을 각 서버로 분산시키는셈.

클라이언트는 도메인 네임으로 접근할테니, 사실상 무관하고, 분산처리를 DNS서버에서 설정하는 것.

물론 단점도 있다고 한다.

DNS 라운드 로빈의 단점 :

1. 웹 서버가 장애를 발생해도 DNS서버는 전혀 알수가 없다.

따라서 계속~ 순차적으로 운이 나쁜 사용자는 장애가 난 서버에 접속하게 되어버린다.


2. 균등한 분배, 부하분산을 수행하진 않는다.

클라이언트가 매번 접속할때마다  DNS가 이름 분석을 하지는 않는다.

DNS는 일정 시간 동안 이름 분석 정보에 대해 보존하는 캐시 기능을 쓰고있는데, 이 기능을 통해 DNS서버에서 발생하는 트래픽을 줄인다.

하지만 이는 곧 캐시가 없어지기 전까지는 계속 같은 웹서버에 접근하게 된다는 이야기라서, 균등한 분배라고 볼수는 없다.




OS타입,

OS타입이란 OS가 가지고 있는 자체 기능을 활용하여 부하분산을 구현하는 방법이다.

windows Server의 경우 NLB(Network Load Balancing Service)라고 하는 기능이 클러스터 서비스의 하나로 탑재.

리눅스는 LVS(LinuxVirtual Server)

하지만 둘다 복잡한 부하분산 구현은 어렵고 비효율적이다. 규모가 작은 사이트의 경우, 이러한 기술로 처리한다.


어플라이언스 타입,

어플라이언스 타입은 부하분산 장치(로드밸런서)라는 전용 장비를 통하여 구현하는 방법이다.


어플라이언스란 특정 기능에 특화된 장비를 의미.

방화벽은 패킷 필터에 특화된 어플라이언스라고 봐도 된다.

어플라이언스 타입으로 사용되는 어플라이언스는 

F5 Networks: BIG-IP 

Citrix : NetScale

Cisco : Ace 4700


이들은 장비를 별도 구매해야 하므로 비용이 들지만, 특화된 장비이기 때문에 유연하게 처리하는것이 가능하다.

어플라이언스 타입은 모든 트래픽을 일단 부하분산 장치에 저장, 배후에 있는 서버로 분산하여 흘려보낸다.

요즘에는 연결을 효율화 하고, 암복호화 기능까지 수행한다.

중대형 규모의 사이트의 경우 보통 이러한 타입의 부하분산 기능을 사용하고있다고 한다.

요즘에는 가상화가 유행하며 가상 어플라이언스 형태로 제공하기도 한다.(BIG-IP VE / NetScaler VPX)

이것은 부하분산장비를 별도로 두지않고 VMWare와 같은 가상 환경에서 부하분산을 구현하는 방법이다.


대표적인 이러한 부하분산 기술말고도

방화벽부하분산(회선 부하분산), 광역부하분산(물리적으로 다른 장소의 서버로서, 재해복구용으로도 쓰임)도 존재한다고 한다.































댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함