Abstract
A Clustering based wireless internet proxy server needs a layer-7 load balancer with URL hashing methods to reduce the total storage space for servers. Layer-4 load balancer located in front of server cluster is to distribute client requests to the servers with the same contents at transport layer, such as TCP or UDP, without looking at the content of the request. Layer-7 load balancer located in front of server cluster is to parse client requests in application layer and distribute them to servers based on different types of request contents. Layer 7 load balancer allows servers to have different contents in an exclusive way so that it can minimize the total storage space for servers and improve overall cluster performance. However, its scalability is limited due to the high overhead of parsing requests in application layer as different from layer-4 load balancer. In order to overcome its scalability limitation, in this paper, we propose a distributed layer-7 load balancer by replacing a single layer-7 load balancer in the conventional scheme by a single layer-4 load balancer located in front of server cluster and a set of layer-7 load balancers located at server cluster. In a clustering based wireless internet proxy server, we implemented the conventional scheme by using KTCPVS(Kernel TCP Virtual Server), a linux based layer-7 load balancer. Also, we implemented the proposed scheme by using IPVS(IP Virtual Server), a linux-based layer-4 load balancer, installing KTCPVS in each server, and making them work together. We performed experiments using 16 PCs. Experimental results show scalability and high performance of the proposed scheme, as the number of servers grows, compared to the conventional scheme.
무선 인터넷 프록시 서버 클러스터링에서 저장공간을 최소화하기 위해서는 URL 해싱기법을 가진 Layer 7 부하분산기가 필요하다. 서버 클러스터 앞단에 위치한 Layer 4 부하분산기는 TCP 또는 UDP와 같은 트랜스포트 계층에서 컨텐츠 내용을 확인하지 않고 사용자 요청들을 똑같은 컨텐츠를 가진 서버들에게 분배한다. 서버 클러스터 앞단에 위치한 Layer 7 부하분산기는 응용계층에서 사용자 요청을 분석하여 요청 컨텐츠 유형에 따라 해당되는 서버들에게 분배한다. Layer 7 부하분산기를 이용하면 서버들이 배타적으로 각기 다른 컨텐츠를 가지게 할 수 있어서 서버들 저장공간을 최소화할 수 있으며 전체 클러스터 성능을 향상할 수 있다. 그러나 Layer 7 부하분산기는 응용계층에서 사용자 요청을 분석하는데 요구되는 큰 처리 부담으로 인해 Layer 4 부하분산기와 다르게 확장성이 제한된다. 본 논문에서는 그 확장성 제한을 극복하기 위해서 분산형 Layer 7 부하분산기를 제안한다. 종래의 방법에서는 한 대의 Layer 7 부하분산기 를 사용하는데 본 논문에서 제안한 방법에서는 서버 클러스터 앞에 한 대의 Layer 4 부하분산기를 설치하고 서버들에게 Layer 7 부하분산기들을 각각 설치한다. 클러스터 기반의 무선 인터넷 프록시 서버에서 종래의 방법을 리눅스기반의 Layer 7 부하분산기인 KTCPVS를 이용하여 구현하였다. 본 논문에서 제안한 방법에서는 리눅스기반의 Layer 4 부하분산기인 IPVS를 사용하고 각 서버들에게 Layer 7 부하분산기인 KTCPVS를 설치하여 같이 동작하게 구현하였다. 실험은 16대의 컴퓨터를 사용하여 수행되었고, 실험 결과에 의하면 제안 방법이 종래 방법에 비해 서버 대수가 증가함에 따라 확장성 및 높은 성능 향상률을 가짐을 확인하였다.