테스트 사이트 - 개발 중인 베타 버전입니다

로드밸런싱을 구현하고자 합니다.

· 8년 전 · 3666 · 11

SIR의 서버가 노후되어 이번에 교체하는 김에 로드밸런싱으로 구성을 하고자 합니다.

로드밸런싱에 대해 자세하게 설명한 책이 없어 며칠간 인터넷 검색을 하여 찾아낸 방법으로만 말씀 드리니 잘못된 점이 있다면 지적해 주세요.

 

 

(첫번째 방법) 

로드밸런싱을 하는 목적인 부하 분산에는 맞지 않지만 운영의 중단을 없앤다는 목적에는 어느정도 다가서는 것 같습니다.

1. 평소에는 서버A만 접속되며 서버B는 서버A의 데이터와 DB를 복사해 놓는 역할을 한다.

2. 서버A에 문제가 생겨 접속이 되지 않는 경우 서버B로 접속하여 운영을 이어나간다.

장점 : 설정 및 테스트가 쉽다.

단점 : L4 스위치를 사용하여 분산하는 효과가 없다. L4에서 이런 방식을 지원해 주는지 아직 확인되지 않음.



 

 

(두번째 방법)

로드밸런싱을 하는 목적에 맞는것 같습니다. (자신이 없군요.)

1. L4 스위치에서 서버A, 서버B로 분산합니다.

2. 서버A와 서버B에 올라온 데이터는 양방향 rsync 합니다.

3. 디비A와 디비B에 올라온 데이터는 양방향 replication 합니다.

장점 : 부하 분산을 한다.

단점 : 설정이 어려우며 어느 한곳이 중단되면 원상복구가 어렵다. 데이터를 두곳에 보관하므로 하드웨어 사용이 두배로 늘어난다.


 

 

현재는 위와 같은 방식으로 구성하는 것에 대해 생각하고 있습니다.

 

다른 한가지가 더 있는데 이것은 프로그램이 많은 부분 수정되어야 하는 방법이라 당장은 고려하고 있지 않습니다.

나중에 참고하기 위하여 설명을 하자면 그림과 같은 방식으로 구성됩니다.

 

(세번째 방법)

1. 서버A와 서버B는 양방향으로 rsync 합니다.

2. 디비A는 쓰는 용도로 사용하고, 디비B는 읽는 용도로 사용합니다.

장점 : 읽는 용도가 많은 웹사이트의 경우 효율이 월등이 좋은것으로 예상한다.

단점 : 설정이 어려우며 기존 프로그램의 소스코드 수정이 많아진다.


 

 

위 방법들은 여러 사이트에서 소개한 정보를 조합하여 나름대로 구성해 본것으로 

로드밸런싱으로 구성하는데 맞는지는 확실하지 않습니다.

 

로드밸런싱에 대해 잘아시거나 관심 있으신 분들의 열띤 토론을 기대합니다.

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 11개

분산이나 안정성 위주로 생각하시면 차라리 AWS 나 KT 클라우드 서버로 구축하시는게 좋을것 같습니다.
가비아나 이런데는 클라우드 기술이 좀 빈약하구요.
L4 사용해서 로드밸런싱이나 백업을 쓰게 되면 이론상으로는 간단한데 실제 서비스가 깨졌을때 복구하려면 상당한 경험자가 아니면 복구하는데 시간이 오래걸립니다. 페일오버가 자동적으로 일어나는게 아니라서 DB 리플리케이션의 경우에도 복구가 쉽지 않습니다.

게시글 목록

번호 제목
2685
2642
2624
2616
2611
2600
2534
2486
2414
2396
2363
2285
2259
2230
2187
2104
2090
2054
2048
2029
2016
1958
1929
1907
1880
1762
1722
1647
1623
1613