나는 dotcloud를 처음 사용하며 여러 서비스가 함께 작동하는 방법에 대해 혼란 스럽습니다.Dotcloud 다중 서비스
www:
type: python
db:
type: postgresql
worker:
type: python-worker
broker:
type: rabbitmq
그리고 내 supervisord 파일은 장고 셀러리를 & celerycam를 시작하는 명령이 포함되어
내 YAML 빌드 파일입니다.
내 코드를 앱에 푸시하면 www & 작업자 서비스가 셀러리 & 셀러리 캠의 인스턴스를 시작하고 로그 파일이 서로 다른 것을 볼 수 있습니다. 이는 의미가 있습니다 (IMO의 dotcloud 문서에서는 명확하지 않지만 - 작업자 서비스 설정에 대한 설명은 있지만 다른 서비스와 결합하는 방법은 아닙니다).하지만 응용 프로그램을 구성하는 방법에 대한 질문이 제기됩니다 여기서 파이썬 서비스는 주로 웹 페이지를 제공하지만 파이썬 작업자 서비스는 백그라운드 작업 (예 : 샐러리)에서 작동합니다.
dotcloud documentation daemon이 언급하고 있습니다 :
"그러나, 당신은 당신이 당신의 응용 프로그램을 확장 할 때, 은 cron 작업이 모든 스케일링 경우에 예약 할 것이라는 점을 알고 있어야합니다 - 아마 당신이 무엇을하지 않은 많은 경우에있어서 은 별도의 서비스를 사용하는 것이 더 좋을 것입니다.
마찬가지로, 많은 (비 종업원) 서비스가 이미 수퍼바이저를 실행하므로 해당 서비스에서 추가 백그라운드 작업을 실행할 수 있습니다. 그런 다음 다시 응용 프로그램을 확장하면 해당 백그라운드 작업이 여러 인스턴스에서 실행된다는 점을 기억하십시오. 당신이 당신의 웹 서비스를 하는 백그라운드 작업을 추가하는 경우 또한, 그것은 페이지를 제공하기 위해 적은 자원을 얻을 것이다, 당신의 성능은 상당한 타격을 것입니다. "
을 그냥 실행 dotcloud & 응용 프로그램을 구성하려면 어떻게 하나의 서비스에 대한 웹 서버 및 작업자 서비스에 대한 배경 작업 셀러리의 동시성 설정을 높이고 (하나의 서비스를 수직으로 확장) 추가 작업자 서비스를 추가하거나 둘 다 추가하여 작업자를 확장 할 수 있습니까?
이것은 웹 서버 서비스가 백그라운드 작업을 처리 할 때 리소스를 사용할 필요가 없기 때문입니다. 둘째, 웹 서버 서비스와 독립적으로 작업자 서비스를 제공합니까?