[질문] 부하분산 방법은 ? 웹서버 , DB 서버 등..
글쓴이: offree / 작성시간: 일, 2003/04/06 - 1:07오전
안녕하신지요..
다름이 아니라. 이번에 좀 사용자가 많은 서비스를 해야 할 것 같은데요.
서버의 부하분산을 어떤식으로 해야 하는지요?
여기저기 살펴보긴 했는데 정확히 판단이 서질 않네요.
일단 제가 이해 한것은 (여러가지 방법중에 한 부분 이겠지만요..)
1. 웹서버
동일한 domain name 으로 서비스를 하면서 여러대의 웹서버로
분산시킨다. 이때 DNS 라운드로빈(?) 으로 처리 가능하다.
2. DB 서버
DB 서버를 기본적으로 별도로 서비스하거나 replication 같은 기법으로
데이터를 동기화 시킨다.
등등..
서비스 형태에 따라 다르겠지만, 그런것이 있다 정도 인데.
실제로 해보신분 들의 조언을 얻고 싶습니다.
서버는 일단 2-3 대 정도의 규모라고 생각하구요.
분산을 위한 DNS라운드로빈 이라는 것이 어떤것인가요?
관련자료에 대한 조언 부탁드려요. ^^
그럼. 요즘 날씨가 너무 좋은 것 같네요. ^^
Forums:
Re: [질문] 부하분산 방법은 ? 웹서버 , DB 서버 등..
dns 라운드 로빈은 가장 간단한..
부하분산방법입니다.
dns 의 A 레코드에 여러개의 ip를 넣어서
클라이언트가 룩업할때마다 상태가 바뀌는겁니다.
예를 들어 10.1.1.1 ~3 까지가 써버라면
1번 사용자가 들어올때는 1번
2번사용자가 들어올때는 2번
3번 사용자가 들어올때는 3번
이 "가능" 하다는겁니다.
트래픽이나 사용률에 따른 부하 분산을 하는것이 아니라.
단순히.. 확률에 의존한-_-;
방법입니다.
가장 단순한겁니다;;
------------------------------------------------------------------------------------------------
Life is in 다즐링
Re: [질문] 부하분산 방법은 ? 웹서버 , DB 서버 등..
답변 감사합니다.
그렇다면 단순히 DNS A record 로 여러개를 쓰는 것만으로도 가능하다는
말씀이신가요?
가상서버(?) 의 방법을 쓰지 않고도요..
사용자가 바꾸어 나가자!!
= about me =
http://wiki.kldp.org/wiki.php/offree , DeVlog , google talk : offree at gmail.com
몇 군데를 찾아보니..
DNS 라운드로빈은 간단한 방법이고.
L4 라는 것이 있고, load balance 방법을 많이 쓰는 것 같네요.
balance 및 fail over 에 대한 처리를 해주는 것 같구요.
명확한(?) 자료를 찾기는 힘드네요..
일단 라운드로빈 방식으로 해봐야 겠습니다.
그럼.
사용자가 바꾸어 나가자!!
= about me =
http://wiki.kldp.org/wiki.php/offree , DeVlog , google talk : offree at gmail.com
Re: 몇 군데를 찾아보니..
가상서버 프로젝트 란것이 있더군요.
레드햇의 pirahna 인가 프로젝트 도 있는 것 같구요.
더 찾아봐야 겠습니다.
load balance 가 관건 인것 같습니다. 어떤 방식으로 처리해 주느냐..
사용자가 바꾸어 나가자!!
= about me =
http://wiki.kldp.org/wiki.php/offree , DeVlog , google talk : offree at gmail.com
흐
흐
DNS를 이용한 부하분산은 가장 단순(?)하면서도 가장 좋지 않습니다.
DNS를 이용한 부하분산은 가장 단순(?)하면서도 가장 좋지 않습니다.
예를들어 어떠한 사용자가 해당 웹서버에 접속을 하면, 그 사용자가 사용하는 도메인서버에 해당 IP가 캐쉬에 저장됩니다.
같은 DNS를 사용하는 사용자들은 그 캐쉬가 사라질때까지 계속해서 한대의 서버로만 접속이 되겠죠.
offree님께서 말씀하신 가상서버가 있는데..
1.NAT를 이용한 방식
2. IP 터널링을 이용한 방식
이렇게 두가지가 있습니다.
1번 NAT는 말그대로 부하분산서버 아래로 사설 네트웍망을 구성하고,
그 사설망에 리얼서버(사용자요청을 받아 처리해주는 서버)들을 구성하는것입니다.
이 방식은 NAT자체의 문제점인 부하분산서버에서의 병목현상입니다.
정확히 테스트는 해 보지 못했지만 리얼서버 10~15대정도 이상이되면 더 늘리나 마나 한 듯합니다.
장점으론 리얼서버는 아무설정없이(그냥 해당서비스가 가능하게끔만 하면) 사용가능합니다.
2번 IP터널링은 말 그대로 IP터널링을 이용해서 부하분산을 합니다.
NAT방식은 사용자의 요청과 응답모두 부하분산서버를 통해 전달되는 반면,
IP터널링은 사용자의 요청은 부하분산서버가 접수하고, 응답은 가상서버가 사용자에게 직접 전달합니다.
그러므로 NAT에서와 같이 병목현상이 적게 발생합니다.
그리고, 가상서버가 특정 네트웍 단에 있지 않아도 가상서버로 설정이 가능합니다.
단점은, 리얼서버는 꼭 IP터널링을 지원해야하겠죠..
스케줄링방식은 4가지 정도 있는것 같은데 기억은 잘 나지 않네요.
http://tunelinux.pe.kr/clustering/
문서는 이곳에 있습니다.
가끔은 밥을 굶어도 살 수 있다.
서비스가 과부하를 일으킨다면 L4스위치를 쓰는게 가장 좋습니다
L4스위치를 사용하면 아주 명확해집니다.
대부분의 대형서버들은 L4를 씁니다.
========================================
* The truth will set you free.
Re: 서비스가 과부하를 일으킨다면 L4스위치를 쓰는게 가장 좋습
L4 스위치란 어떤 것인가요?
장비라고 봐야 되나요?
어떤 것인지 짧게나마 설명 부탁드려요. ^^
사용자가 바꾸어 나가자!!
= about me =
http://wiki.kldp.org/wiki.php/offree , DeVlog , google talk : offree at gmail.com
Re: 서비스가 과부하를 일으킨다면 L4스위치를 쓰는게 가장 좋습
http://tunelinux.pe.kr/ 에 좋은 자료가 많군요.
천천히 둘러 봐야 겠습니다.
^^
사용자가 바꾸어 나가자!!
= about me =
http://wiki.kldp.org/wiki.php/offree , DeVlog , google talk : offree at gmail.com
Re: 서비스가 과부하를 일으킨다면 L4스위치를 쓰는게 가장 좋습
L4 스위치는 Layer 4 (OSI 7 Layer 중 4번째)인 Transport
단을 처리할 수 있는 스위치 허브를 말하는 겁니다.
스위치 허브가 부하를 분산시켜줄 수 있긴합니다만.... 돈이 들죠. -_-;
Re: 서비스가 과부하를 일으킨다면 L4스위치를 쓰는게 가장 좋습
L4 스위치 허브를 사용하는 것 만으로도 분산이 된다는 말씀이신가요?
서버상에 별도의 처리를 하지 않아도..
사용자가 바꾸어 나가자!!
= about me =
http://wiki.kldp.org/wiki.php/offree , DeVlog , google talk : offree at gmail.com
제 생각에도 리눅스를 이용해서 별도의 로드 밸런서를 구현하기 보다는 안정
제 생각에도 리눅스를 이용해서 별도의 로드 밸런서를 구현하기 보다는 안정적인 서비스를 생각한다면 L4 switch를 구매하심이 좋을 것 같습니다. (부하 분산을 위해 구현한 리눅스 장비가 죽으면 대재앙이니깐요. ^^;)
L4 스위치 같은 경우는 위에 분께서 말씀하신 것처럼 부하 분산 방법이 4가지 정도 되는데요.
라운드 로빈 방식, 접속자가 가장 적은 서버에 연결하는 방식(least connection), 서버 별로 가중치를 주어서 접속수를 다르게 하는 방식 등이 있습니다.
L4 스위치를 연결하게 되면 별도로 서버에 작업을 해 주지 않아도 됩니다.
L4 스위치에 대해서는 네이버에서 L4 switch로 검색해 보시면 웹 문서에서 첫번째로 나오는 사이트에 들어가 보시면 자세히 설명되어 있습니다. :-)
[quote]리눅스를 이용해서 별도의 로드 밸런서를 구현하기 보다는 안정
관리하기 나름입니다. 다른 기능을 다 제거하고, 오직 로드밸런서만으로 돌리면, 충분히 안정적으로 돌릴수 있습니다.
그래도, 한대로 불안하면 대기용으로 하나 더 설치하면 됩니다.
세션을 사용하게 되는 경우, 세션정보를 웹서버마다 공유하게끔 바꾸어야 합니다.
여기도..
여기도..
http://clusterkorea.org/
http://clusterkorea.org/
댓글 달기