2014-03-04 8 views
2

나는 Heroku에 익숙하지 않으며 플랫폼에서 실행되도록 JAVA 응용 프로그램을 구성하는 방법에 대한 질문이 있습니다.단일 응용 프로그램 내에서 여러 끝점을 구성하는 가장 좋은 방법

개발중인 앱에서 3 개의 REST 끝 점이 노출됩니다. 적절하게 애플 리케이션을 확장하기 위해 나는 전용 dyno에서 각 엔드 포인트를 실행하는 것에 대해 생각하고있다. 각 끝점 뒤에있는 논리는별로 복잡하지 않으며 끝점을 실행하는 웹 dynos 내에 유지할 계획입니다.

현재 동일한 웹 dyno에서 실행되는 3 개의 모든 엔드 포인트를 가진 단일 응용 프로그램이 있습니다. 끝점마다 프로세스 유형을 가질 수 있도록 내 응용 프로그램을 분할하는 가장 좋은 방법은 무엇입니까? 하나의 응용 프로그램에서 3 가지 응용 프로그램 (프로세스 유형마다 하나씩)을 만들거나 여러 프로세스 유형 (JAVA 명령?)을 정의 할 수 있습니까? 내 procfile은 어떻게 생겼을까요?

+0

참고 :이 [link] (http://stackoverflow.com/questions/12429687/heroku-cedar-application-with-multiple-web-facing-processes/12431992#12431992) 다소 관련이 있지만 여러 끝점을 구성하는 방법에 대한 모범 사례를 실제로 설명하지는 않습니다. – edopuck

답변

0

로드가 증가함에 따라 대부분의 사람들은 단일 애플리케이션을 가지며 다이노스를 적절하게 조정할 수 있다고 생각합니다. 이것이 바로 Heroku의 이점입니다. 앱이 올바르게 설계된 경우 확장하기 위해 dynos를 추가하십시오.

저는 이것이 Heroku 질문이라고 생각하지 않지만 응용 프로그램 아키텍처에 대한 더 많은 질문이 있습니다. 자세한 정보가 없으면 논평하기가 어렵습니다.)

+0

제안한 것처럼, Heroku가 리소스 (즉, dynos)를 확장하는 방법과 호환되는 방식으로 응용 프로그램을 구성해야합니다. Heroku는 각 dyno가 단일 "프로세스 유형"을 실행하며 [여러 프로세스가 포함 된 단일 응용 프로그램을 정의 할 수 있음] (https://devcenter.heroku.com/articles/runtime-principles)이라고 말합니다. 내 질문에 지금은 더 많은 자바 관련 질문이 될 것 같아요 : 여러 응용 프로그램 내에서 여러 프로세스, 명령 또는 진입 점을 정의하여 전용 dynos에 개별적으로 할당 할 수있는 방법은 무엇입니까? – edopuck

+0

예, 여러 프로세스가 포함 된 단일 응용 프로그램을 만들 수는 있지만 대개 다른 용도로 사용됩니다. 예를 들어, 응용 프로그램의 ** 웹 사이트 ** 부분을 실행하는 3 개의 dynos (또는 프로세스)를 가질 수 있습니다. 여기에는 3 개의 다른 끝점이 포함될 수 있으며, 1 개의 dyno는 전자 메일을 비동기 적으로 보내도록 백그라운드 프로세스를 실행합니다. – jordelver

관련 문제