DB Master Slave Replication과 모델의 establish_connection 동시 적용 사용

31 views
Skip to first unread message

jaehyun

unread,
Jul 26, 2010, 3:26:46 AM7/26/10
to 한국 루비 사용자 모임
안녕하세요. 김재현입니다.

저희 레일즈 서비스가 Database를 USER_DB 와 SERVICE_DB로 나누어 사용하고 있었습니다.
방법은 단순히 User 모델에
establish_connection "users_database_#{RAILS_ENV}"
를 넣어서 사용했었죠.

그런데, DB트래픽 분산을 위해서 SERVICE_DB 를 Master/Slave replication을 하려고 합니다.

아래와 같이 Master/Slave replication을 도와주는 두가지 플러그인이 있는데요.

1. http://github.com/technoweenie/masochism
2. http://github.com/mauricio/master_slave_adapter

둘다 시도해 보았는데, 단순 Master/Slave DB만 나누어 사용하는 것은 잘 되는데,
User 모델에 establish_connection "users_database_#{RAILS_ENV}"
설정해 놓은것까지 override되어서.. "users_database_#{RAILS_ENV}" 로 접근을 못하는 상황입니다.

제가 하고자 하는 설정은,
특정 모델은 establish_connection 로 특정 database로 보내고, 나머지를 master/slave로 잡는 방
법은 없을까요?

혹시 같은 문제로 고민해 보신 분이 계신지 모르겠습니다.
조언 부탁드립니다.~^^


dragonkun

unread,
Jul 26, 2010, 3:41:00 AM7/26/10
to rub...@googlegroups.com
data_fabric 을 고려해보시는 건 어떨까요?

user 모델을 제외한 모든 모델만 replicated 설정하면 될 것 같기도 한데요.

http://github.com/mperham/data_fabric

10. 7. 26. 오후 4:26, jaehyun 쓴 글:

Jaehyun Kim

unread,
Jul 26, 2010, 5:57:49 AM7/26/10
to rub...@googlegroups.com
dragonkun 님 정말 감사드립니다.
이런 방법이 있는줄 몰랐네요.ㅎ

오늘 오후에 설정해서 지금까지 BETA운영중에 있는 실서버에서 테스트중입니다.
지금까지 큰 문제 없어보이고, 잘 되는 것 같습니다.!!
감사합니다.^^

2010년 7월 26일 오후 4:41, dragonkun <drag...@gmail.com>님의 말:
Reply all
Reply to author
Forward
0 new messages