Skip to content

L4 스위치 대신 LVS로 부하분산 해결

조회 수 27200 추천 수 0 2009.11.30 23:34:12

L4 스위치 대신 LVS로 부하분산 해결

디앤샵과 같은 온라인 비즈니스를 수행하기 위한 전산시스템은 순간적으로 집중되는 트래픽을 안정적으로 분산시키기 위해 L4 스위치를 도입하는 경우가 많다.

L4 스위치를 거친 데이터는 초기 요청 데이터 값보다 내부 연산을 거친 결과값이 크다는 특징이 있고, 때문에 L4 자체가 과부하를 겪는 경우도 생긴다. 더구나 디앤샵과 같이 복잡한 트랜잭션이 대량으로 발생하는 경우는 L4 스위치에서 상당한 부하를 겪게 된다.

디앤샵은 이런 고민을 어떻게 해결했을까. 간단하게 설명하자면 디앤샵은 L4 스위치가 없어 L4 스위치단에서의 부하 처리 고민을 할 필요도 없다.

바로 LVS가 트래픽 분산을 위한 로드밸런싱을 충분히 감당하고 모든 트래픽이 L4 스위치를 거쳐야 하는 것에 비해 LVS는 연산 결과값을 곧장 클라이언트 시스템으로 전달할 수 있는 일종의 ‘CDN 서비스’ 기능까지 수행하기 때문이다.

L4 스위치 대신 LVS로 부하분산 해결
L4 스위치 자체의 부하 처리 고민을 해결했을 뿐 아니라 수 천 만원을 호가하는 L4 스위치 대신 500만~600만원에 불과한 LVS를, 그것도 백업을 통해 두 대를 도입해도 천만원 안팎으로 구매가 가능하기 때문에 50% 이상의 비용 절감을 실현할 수 있었다.

정연오 팀장은 “다음커뮤니케이션이 이미 리눅스 환경에 오픈 소스 소프트웨어들에 기만한 저비용 고효율 시스템을 활용하다보니 이에 대한 노하우가 고스란히 디앤샵에 적용됐다. LVS를 이용한 부하분산 역시 고가의 L4 스위치나 CDN 서비스를 도입하는 것이 아닌, 다음만의 자체 기술로 구현했는데 이는 소스 코드가 오픈돼 우리 개발팀에서 자유롭게 커스터마이징이 가능했던 오픈 소스 소프트웨어의 특성 덕분이었다”고 말했다.

현재 유일한 유닉스 환경인 DB 서버 역시 100% 순수한 유닉스 환경이라고 보기는 어렵다. 물론 오라클 DB 애플리케이션이 구동되는 IBM p670 서버는 유닉스 환경인 것이 맞지만 디앤샵의 DB 시스템 전체가 유닉스는 아니기 때문이다.

디앤샵은 메인 DB 서버인 IBM 시스템 외에 x86 서버에 오픈 소스 기반 DB 애플리케이션인 MySQL을 탑재한 서브 DB 시스템을 운영하고 있다.
이 서브 DB에서는 실시간 데이터 처리나 핵심 데이터가 아닌 어느정도 시간적 여유가 있는 데이터들을 데이터 싱크를 매핑해 처리하는 방식으로 메인 DB의 부담을 덜고 있다.

정연오 팀장은 “쇼핑 물품의 결제나 처리같은 핵심 사안이 아닌 상품평, 게시판 등의 단순 데이터까지 오라클 DB에 던져 부담을 줄 수는 없다. 물론 할 수는 있지만 그만큼의 안정성을 갖추기 위해 메인 DB를 이중화 하자면 역시 수십억원의 예산이 소요된다. 디앤샵은 서브 DB를 리눅스 기반 MySQL로 구현함으로써 메인 DB 이중화에 못지 않은 안정성을 구현했다”고 강조했다.
향후 오라클에서 강조하는 RAC 환경을 리눅스를 기반으로 해 구현해 볼 수도 있다는 가능성도 내비쳤다.

고가의 유닉스-RISC 환경보다 이중화, 다중화를 통한 위험 분산이 가능하고 성능 또한 뛰어난 RAC 환경은 디앤샵이 추구하는 ‘저비용 고효율’ 시스템 구현에도 적합하다고 정연오 팀장은 의견을 밝혔다.

정연오 팀장은 “앞으로 디앤샵에서 구현되는 모든 시스템은 역시 오픈 소스 소프트웨어로 구현될 것이다. 저비용 고효율 구조를 생각한다면 오픈 소스 소프트웨어를 배제할 수 없다. 무엇보다 시스템이 독점적인 특정 벤더의 기술에 발목 잡히면 안된다고 생각한다. 개방된 환경에서 독점 기술에 구애받지 않고도 더 높은 성능과 안정성을 구현할 수 있다는 것을 바로 디앤샵의 시스템이 증명한다”고 자신했다.

출처 : Tong - solaris79님의 linux통

profile

일요일은 짜빠게뤼~ 먹는날~^^

엮인글 :
http://adminplay.com/3699/b47/trackback
List of Articles
번호 제목 글쓴이 날짜 조회 수
167 우분투 서버 방화벽. 외부에서 ssh 접속이 안되었다.(Ubun... l2zeo 2010-02-20 34943
166 Apache 설치(Ubuntu Server DIY ) l2zeo 2010-02-20 31156
165 고정아이피 설정하기(Ubuntu Server DIY ) l2zeo 2010-02-20 29098
164 리눅스 - tar 압축 사용법 ADMINPLAY 2010-02-20 25523
163 grep 옵션~! ADMINPLAY 2010-02-17 22229
162 grep 옵션, egrep 옵션 차이점 ADMINPLAY 2010-02-17 26317
161 리스너(Listener)란? ADMINPLAY 2010-01-29 20394
160 iptable 팁 ADMINPLAY 2010-01-28 20985
159 특수문자 정규 표현식 ADMINPLAY 2010-01-27 22536
158 find 찾아바꾸기 ADMINPLAY 2010-01-27 22212
157 find 와 grep을 잘 사용하자 ADMINPLAY 2009-12-10 20416
156 리눅스에서 테잎드라이브 쓰는방법 ADMINPLAY 2009-12-10 19726
155 AIX 필수 명령어 ADMINPLAY 2009-12-10 39206
154 RPM 사용법 정리 ADMINPLAY 2009-12-10 22948
153 로드밸런싱의 ‘꽃’, L4/L7 스위치 관심 집중 ADMINPLAY 2009-11-30 24183
152 mii-tool 사용법 ADMINPLAY 2009-11-30 21792
» L4 스위치 대신 LVS로 부하분산 해결 ADMINPLAY 2009-11-30 27200
150 리눅스 Proxy Server[Squid] 설정법[RedHatLinux8.0] ADMINPLAY 2009-11-26 24442
149 swap 증설작업 ADMINPLAY 2009-11-26 21686
148 kernel: nf_conntrack: table full, dropping packet. ADMINPLAY 2009-11-26 23626

Copyright ADMINPLAY corp. All rights reserved.

abcXYZ, 세종대왕,1234

abcXYZ, 세종대왕,1234