문제

다운 투표 후, 나는 내 게시물이 엄청난 것을 깨달았습니다. rant. 그래서 나는 그것을 편집하고 이것을 정말로 알고 싶은 질문으로 요약했습니다. 이 편집 전에 내 뻔뻔스러운 의견에 대해 사과드립니다.)

Rails 사이트에서 Amazon의 SimpleDB를 사용하는 것에 대한 유일한 자습서는 AWSDBPROXY를 사용하는 것 같습니다 ... 개인적으로, 나는이 반 직관적 인 것이 아래의 일반적인 레일 사이트의 서버 레이아웃 (AWSDBPROXY 사용)을 고려하여 확장에 직관적이라는 것을 알게됩니다.

여기에 플러그인 : http://agilewebdevelopment.com/plugins/aws_sdb_proxy

여기에서 이미지 : http://www.freeimagehosting.net/uploads/91be4e0617.png

보시다시피, 우리가 더 많은 몬드를 추가하더라도 두 가지 문제가 있습니다.

  1. 우리는로드 밸런서보다 훨씬 덜 안정적 인 실패 지점이 있습니다.
  2. 우리는이 정보를 통해 모든 정보를 강요해야합니다. Webrick 서버

물론 솔루션은 더 많은 AwsdbProxies를 추가하는 것입니다 ... 그러나 왜 클래스에서 다음 코드를 사용하여 프록시를 모두 함께 건너 뛰는 것입니까?

service = AwsSdb::Service.new(Logger.new(nil),
                                CONFIG['aws_access_key_id'],
                                CONFIG['aws_secret_access_key'])
service.query(domain, query)

그래서 내가받는 것은 당신이라면입니다 ~이다 awsdbproxy를 사용하면 무엇을 정당화합니까? 그리고 당신이 실제로 그것을 사용하고 있다면, 당신의 성능은 어떻습니까? 숫자가 어려운 경우 더 감사하겠습니다!

감사!

도움이 되었습니까?

해결책

나는 그것을 사용하지도 않고 들어 본 적이 없지만 이것이 합리적인 이유라고 생각하는 것입니다.

  1. EC2에서 기본 앱 서버를 실행하고 있으므로 인터넷 실패가 실제로 두 번 이상 영향을 미치지 않습니다.
  2. 각 앱 서버에서 하나의 프록시를 실행합니다. 따라서 연결이 내려가는 것은 데이터베이스가 다운되는 것보다 더 나쁘지 않습니다.
  3. 할 수 있기 때문입니다. 이것은 오픈 소스 프로젝트의 어느 것도 좋은 이유입니다. 때때로 그것은 당신이 말한 것이 좋은/나쁜 생각인지를 알기 전에 물건을 만드는 것이 걸립니다.
  4. 로드 밸런서가 필요한 트래픽 레벨이 없습니다. 그런 다음 단일 컴퓨터가 아닌 경우 다이어그램이 줄로 쪼개집니다.
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top