본문 바로가기

쓸모 있는 제품

Product: lbpool - Load Balancing JDBC Pool

원제 : Product: lbpool - Load Balancing JDBC Pool

번역 : Product: lbpool - Load Balancing JDBC Pool

웹 사이트에서:

lbpool project 는 DB 연결 풀을 사용하는 로드 밸런싱 JDBC 드라이버를 제공합니다. lbpool은 추가적인 하드웨어 가용성, 부분 시스템 장애, 고르지 못한 부하 분산의 상황에서 재연결 의미를 제공하는 보통 JDBC 드라이버를 감싸줍니다. lbpool은 또한 주어진 풀에서 슬래이브 DB 서버들간에 새로운 연결을 고르게 분산합니다. connect() 할 때에 최근의 시스템 로드로 최상의 서버를 사용하기 위해 시도하기 위해 lbpool을 호출합니다.

대부분 읽기 한계인 커다른 응용프로그램이 가지는 가장 큰 확장성 이슈는 클러스터에 있는 디스크가 처리하는 초당 트랜잭션의 갯수입니다. 여러분은 일반적으로 두 가지 방법으로 이것을 해결할 수 있습니다.

1. 비싼 RAID 컨트롤라를 가지는 크고 비싼 디스크를 구매합니다.
2. 값싼 디스크를 가지는 값싼 하드웨어를 구매하는데, 많은 장비를 구매합니다.

우리는 값싼 하드웨어 접근법을 선호하고 lbpool은 이것을 가능하게 합니다.

값싼 하드웨어를 사용하여 관리한다고 해도, 대부분의 로드밸런스 하드웨어는 비싸고, 불필요한 밸런서를 요구하고(만약 실패한다면) 그리고 MySQL은 제품 자체가 매우 드물게 지원합니다.

lbpool 드라이버는 이런 모두 요구사항을  다룹니다.

원래 솔루션은 MySQl 복제 클러스터를 사용을 위해 설계되었습니다.
이것은 일박적으로 모든 읽기를 처리하는 슬래이브들과 함께 모든 쓰기를 처리하는 마스터 서버를 포함합니다.
이 상황에서 우리는 슬래이브 수백개를 가질 수 있고 lbpool은 장비들간의 질의를 분산합니다. 더 많은 읽기 성능을 원하면 더 많은 장비를 사면 됩니다.

lbpool이 몇 초동안 잠시 제한하고 질의를 새로운 상용 서버로 넘기기 때문에, 어떤 것이 장애가 나도 응용프로그램은 다치지 않습니다.

post 에서 Spinn3r의 Kevin Burton은 그들이 이 제품을 이용하여  MySQL의 장애, 분산, crashed 서버를 처리하는데 좋은 효과가 있었다고 말합니다.

프로젝트 사이트 : http://sourceforge.net/projects/lbpool/
원문에 있는 lbpool project는 사용자 인증으로 막혔습니다.

'쓸모 있는 제품' 카테고리의 다른 글

Ehcache - A Java Distributed Cache  (0) 2008.07.29
Product: nginx  (0) 2008.05.03
Product: Ganglia Monitoring System  (0) 2007.09.27
Product: Varnish  (0) 2007.08.23
Product: Cacti  (0) 2007.08.04