많은 미디어 인코딩을하는 레일 애플리케이션이 있습니다. 백그라운드 프로세스를 통해 처리하지만 CPU가 과부하되고 프런트 엔드로드 시간이 분명히 느려지거나 백 엔드 부분이 커지기 전에 발생하는 것으로 나타났습니다.레일 애플리케이션에서 백 엔드 서버와 프런트 엔드 서버를 분리 하시겠습니까?
그래서 문제 : 미디어 인코딩 기능이있는 레일즈 응용 프로그램은 CPU가로드되고 프런트 엔드가 느려집니다. 목표 - 프런트 엔드/백 엔드 (미디어 인코딩) 부분의 연결을 끊습니다.
질문 - 기존 응용 프로그램을 두 부분 (프런트 엔드 부분과 백 엔드 부분)으로 분할하는 가장 좋은 방법은 무엇입니까?
1) 두 대의 서버에서 두 개의 응용 프로그램 복사본을 실행하고 HTTP를 통해 정보를 POST/PUT하는 사이에 전화를 걸거나 원격 DB에 연결하는 것이 좋습니다.
2) Rails 코드로 둘러싼 CPU 중심 부분을 유지하는 것이 좋습니까? 아니면 Rails 기능에서 제거해야합니까?
멀티 서버 레일스 애플리케이션을 실행하는 데 좋은 지침을 누군가가 가리킬 수 있다면 좋을 것입니다. (멀티 서버 캐 피스 라노 배포에 대한 질문이 검색되지만 덜 구체적인 레시피가 필요합니다.)