2010-06-21 3 views
1

저는 ActiveResource를 사용하여 다른 웹 서비스를 쿼리하고 사용자에게 결과를 표시하는 것이 주요인 레일즈 앱을 사용합니다. 하지만 사용자 로그인, 리뷰 등의 다른 기능을 위해 데이터베이스를 사용합니다. mysql 데이터베이스가 다운되면 전체 앱이 다운됩니다. 그런 경우에는 데이터베이스를 필요로하지 않는 부분을 atleast 갖고 싶습니다. (ActiveResource를 사용하고 웹 서비스에서 결과를 얻는 것)이 기능적이어야합니다. 그것은 내 레일 애플 리케이션을위한 중요한 일이기 때문에.데이터베이스가 다운되었을 때 레일 앱의 일부를 사용할 수 있습니까 (데이터베이스가 필요하지 않습니다)

내가 수행 할 수있는 방법은 무엇입니까? ? DB를 사용하지 않고 응용 프로그램을 시작하려면 인터넷 검색에서 environment.rb 파일의 프레임 워크 목록에서 ActiveRecod를 제외해야한다는 것을 알아야합니다. 하지만 그것은 내 애플 리케이션을 통해 너무 많은 참조 데이터베이스가 있었기 때문에 시작 wouldnt.

그래서 내가 DB를 필요로하지 않는 응용 프로그램의 버전을 만들 수 있었고이 버전으로 요청을 보낼 때마다 db가 다운 되었습니까?

또는

는 데이터베이스에 액세스하는 부분을 해제하고 웹 서비스 부분 실행하려면 어쨌든입니다. 데이터베이스가 다운되면?

감사

답변

1

당신은 포트, 말, 4000에서 전체 응용 프로그램을 결합하고, 포트 4001에서 웹 서비스 전용 응용 프로그램, 다음 (보통 포트 80) 그들 앞에 리버스 프록시의 어떤 종류를 넣을 수 있습니다 . nginx 또는 haproxy.

모두의 nginx & haproxy가 '서버 풀'과 같은 옵션이 있습니다, 그래서 첫 번째 포트 4000 시도 할 것이며, 그 다음 아래의 경우 다음을 시도합니다 4001

항상 경로는 URI를 또한 프록시를 쉽게 구성 할 수 있습니다 지정하는

경로는 포트 4001로, 기타는 모두 4000으로 설정합니다.

+0

이미 mongrel의 프록시 서버로 아파치가 있습니다. 아파치가 언급 한 일을 할 수 있습니까? – anusuya

+0

수 있습니다. 그러나 구성하는 것이 훨씬 어렵습니다. –

관련 문제