2014-09-13 2 views
5

서비스 버스에 대한 호출 결과로 실행해야하는 코드가 있습니다. 이 특정 코드는 CPU를 많이 사용하므로 100 개를 동시에 실행해야 할 수도 있습니다. Azure Web Job은 하나의 컴퓨터에서 컴퓨팅 리소스를 사용합니까? 아니면 여러 컴퓨터에서 사용 가능한 컴퓨팅 리소스를 사용합니까?Azure 웹 작업 architecture

답변

1

웹 작업은 웹 응용 프로그램 리소스를 사용합니다. Azure Functions을 사용해보십시오. 가격은 거의 0이며 가격은 거의 제로입니다. 그들은 기술적 인 미리보기에 내가 그것을 사용해 보았습니다, Azure 함수는 매우 저렴합니다. 서비스 버스 호출이 프로세스 외 서비스 일 수있는 경우 응용 프로그램의 인스턴스 결과가 필요하지 않으므로 하늘 기능을 시도 할 수 있습니다. Azure 기능은 주로 유지 보수 및 야간 작업 실행에 사용됩니다. 내 이미지를 미리보기 이미지로 축소하는 데 사용했습니다. 완벽하게 작동했습니다.

+0

그래, 내가 그 글을 쓸 때 Azure 함수들만 존재했다면, 나는 그것을 사용했을 것이다. :) – dascalos

+0

Steeples 게시글에 쓴 댓글을 보면 Azure 기능을 기본적으로 설명했습니다. Azure 또는 AWS의 누군가가 Azure 함수 및 AWS Lambda를 읽고이를 읽었습니다. 전 신용을 얻습니다. – dascalos

+0

당신이 맞을지도, dascalos. 당신은 진짜 몽상가입니다! :) –

1

Azure Webjobs는 웹 사이트를 확장 할 수있는만큼 많은 서버에서 실행되도록 설계되었습니다. 기본적으로 대기열에서 최대 16 개의 작업을 동시에 실행하지만 here과 같이 구성 할 수 있습니다.

public class Program 
{ 
    static void Main() 
    { 
     JobHostConfiguration config = new JobHostConfiguration(); 
     config.Queues.BatchSize= 1; 
     JobHost host = new JobHost(config); 
     host.RunAndBlock(); 
    } 
} 
+0

BatchSize 구성은 ServiceBus 대기열에 적용되지 않습니다. 우리는이를 추적 중이고 ServiceBus에 대한 병렬 실행을 지원할 예정이지만 현재 ServiceBus 트리거 기능은 순차적으로 실행됩니다. –

+1

나를 잘못 이해하지 마라, 나는 WebJobs를 좋아한다. 특정 유스 케이스에 적합합니다. 나는 실제로 야간 데이터 가져 오기를 위해 그것들을 사용합니다. 내가 좋아할만한 점은 webjobs와 유사한 SDG를 사용하는 또 다른 서비스이지만 작업은 사용 가능한 컴퓨팅 리소스 풀에서 프로세스를 생성하고 작업을 수행함에 따라옵니다. 충분한 CPU가 생겨도 걱정하지 않으려 고합니다. 작업자 역할과 비슷하지만 가볍고 탄력성이 있습니다. 아멘을 얻을 수 있습니까? 나는 존재하는 것을 놓치고 있습니까? – dascalos

+0

@ dascalos 좋은 생각이라고 생각합니다. 나는 당신이 괜찮 으면 좋겠지 만 Azure Uservoice에 피드백 요청을 추가했습니다 : http://feedback.azure.com/forums/34192--general-feedback/suggestions/6440654-allow-webjobs-to -scale-dynamic-and-independent –

0

Azure WebSite의 일부로 배포 된 웹 작업은 리소스를 웹 응용 프로그램과 공유합니다. 병렬 처리가 필요한 경우 최대 10 개의 웹 사이트를 확장 할 수있는 옵션이 있습니다.

Matthew의 글에 언급 한 것처럼 Azure WebJobs SDK를 사용하여 ServiceBus 대기열 메시지에 의해 트리거되는 기능을 사용하면 동일한 호스트의 일부로 병렬 처리되지 않습니다. 즉, 단일 호스트가있는 경우 메시지가 순차적으로 처리됩니다.