2015-02-04 12 views
5

나는 여기에서 찾을 수 있습니다 십이 팩터 애플 리케이션 "선언"을 참조에서 오전 :대한 설명 십이 팩터 앱 선언문의 제 8 인자에 대한 필요와 daemonized 프로세스

12 요소 응용 프로그램 프로세스는 절대로 PID 파일을 대몬 화하거나 쓰면 안됩니다. 대신 출력 플랫폼을 관리하고 (예 : Upstart, 개발중인 Foreman과 같은 ) 도구를 사용하여 출력 스트림을 관리하고 충돌 한 프로세스에 응답하고 사용자가 시작한 프로세스를 처리하십시오. 다시 시작 및 종료합니다.

여기서 "프로세스는 절대로을 대몬으로 사용해서는 안됩니다"라는 의미가 확실하지 않습니다.

누군가가 프로세스를 비난하는 장단점에 대해 설명해 주실 수 있습니까? 특히 자바 프로세스의 맥락에서? 또한 프로세스 관리자가 데몬 프로세스를 관리 할 수 ​​있습니까?

답변

5

프로세스가 deamonize 경우 효과적으로 자체적으로 해당 수명주기를 관리하려고하는 것을 의미합니다. 이것은 특정 응용 프로그램 유형에 적합하지만 분산 웹 응용 프로그램에 대해서는 12 요소 선언문과 관련된 종류의 응용 프로그램입니다. 일반적으로 문제를 의미합니다. 앱이 자체적으로 관리하려고 시도하는 경우 외부 프로세스 관리자가 쉽게 관리하지 못하거나 최상의 경우 관리자에게 맞춤 플러그인이나 확장 프로그램이 필요하다는 의미 일 수 있습니다. 이는 배포를 복잡하게 만듭니다.

당신이 앱에하고 싶은 것과 데몬스트레이션이 방지 할 수있는 것이 자동 스케일링 일 것입니다. Mesos과 같은 도구를 사용하면 기본적으로 시스템에 다음과 같이 말하고 싶습니다. "여기 내 50 대의 컴퓨터가 있습니다. 이제는 내 컴퓨터를이 컴퓨터에 배치하십시오." 어디로 가는지 수동으로 관리하지는 않지만 클러스터 관리자가 자동으로 처리하게하십시오. 조건에 따라 자동으로 인스턴스를 더 많거나 적게 설정할 수 있습니다 (예 : 시스템에 수신되는 트래픽 양, 단일 시스템에 여러 인스턴스를 넣을 수 있습니다. 앱이 자체 관리를 시도하면 외부 관리를 방해하고 매우 복잡하게 만듭니다.