대용량 웹서버(High Availability)
분류없음 2006/08/19 10:16인터넷사용자들은 클릭한번으로 얼마든지 다른곳으로 가버릴수 있다는 사실에 주목한다면 travelpod.com은 사례는 로또당첨과도 같은 행운을 불행으로 바꾸어 버렸다고 할 수 있다. 그날이후 travelogr.com은 대용량 웹서비스 아키텍쳐의 확정이 중요한 사안이 되었다.
몇가지 원칙은 이렇다
(1)비싼 하드웨어를 살수 없으니 값싼 PC급서버의 클러스터를 구성한다
(2)완벽하게 똑같은 셋팅을 한 서버의 단순한 추가로만으로도 클러스터에 즉각 참여될수 있어야 한다
(3)클러스터의 증설을 결정한 시점으로부터 24시간내로 클러스터는 증설되어야 한다(정말 24시간내로 될려면 하드웨어 구매프로세서와 프로그램인스톨 프로세서까지도 고려되어야 하겠지만 1일내라는 상징성때문에 24시간이라는 표현을 쓴다)
이러한 원칙을 염두해 두고 인터넷서베이에 들어갔다.
대용량 웹서비스를 하기위해서는 보통 L4,L7등을 쓴다. 이건 비용이 비용이 비싸기 때문에 리눅스를 쓰는 방식이 있다. 이것을 LVS(Linux Virtual Server)라고 한다

우리가 잘아는 wikipedia.org는 lvs에다가 캐시서버까지 도입하여 효과를 극대화 하고 있다
응답은 무조건 squid서버가 한다. squid가 필요하다고 판단할때만
apache서버를 호출하는 구조이다. wikipedia는 이방법으로 트래픽을 무려 1/4로 줄였다고 한다.
+-----------------------------------------+
| Server |
| +--------------+ +--------------+ |
| | Squid | | Apache | |
Outside world <-- -> | | accelerator | <-- -> | webserver | |
| | w.x.y.z:80 | | 127.0.0.1:80 | |
| +--------------+ +--------------+ |
+-----------------------------------------+
wikipedia서버의 구성도이다. 잘보면 한국에도 서버가 있다
mediawiki는 초당 200요청이상이면 squid서버를 도입하라고 권고하고있다


이올린에 북마크하기
이올린에 추천하기