2013-12-10 3 views
1

다중 마스터 MySQL 클러스터가 있고로드 밸런서를 사용하여 여러 Rails 프로젝트에서 오는 읽기/쓰기 쿼리를 여러 서버에 배포하고 싶습니다.ActiveRecord를 통해 여러 데이터베이스에 쿼리 배포

레일에서 볼 수있는 한, 레일스는 서버의 수명 기간 동안 연결 개체를 활성 상태로 유지하려고 시도합니다. 그러나 HAProxy는 쿼리 당 새 연결이 열릴 때만 쿼리를 배포합니다. 이것은 내가 원하는 것이 아닙니다. 연결별로가 아니라 쿼리 단위로 배포하고 싶습니다.

내 서버에서 다중 마스터 서버로 레일 쿼리를 쿼리별로 배포하는 옵션은 무엇입니까?

참고 : 이는 고 가용성 상황이므로 모든 SQL Server가 항상 가동 중인지 확실하지 않습니다. 이것이 내가 haproxy를 사용하는 이유입니다.

답변

0

haproxy는 레이어 4에서로드 밸런싱을 수행하며, mysql 프로토콜을 이해하는 레이어 7에서 무언가가 필요합니다. haproxy 도움이되지 않습니다.

"MySQL로드 밸런서"가이를 시도한 것이므로 프로덕션 환경에서 다른 사람이 사용하는지 여부는 알 수 없습니다. 이 article에서는 TrafficScript 사용에 대한 몇 가지 팁을 볼 수 있습니다. 결국에는 원하는 것을 수행하는 안정적인 소프트웨어가 없다고 생각합니다.

+0

Trafficscript가 흥미 롭습니다. 현재 풀의 각 연결이 다른 데이터베이스를 가리키고로드가 대역폭을 통해 균형 잡힌 손으로 만들어진 연결 풀을 사용하고 있습니다. 때때로 [NIH] (http://en.wikipedia.org/wiki/Not_invented_here)는 잘 작동합니다 :-) – nurettin