2013-12-12 1 views
3

Azure 대기열을 처리하고 데이터베이스 레코드 추가/업데이트/삭제 [데이터베이스 관련 구현 만] 윈도우 서비스를 개발했습니다.VM없이 Azure에서 윈도우 서비스를 실행할 수있는 대안이 있습니까?

현재 구현 [벌금을 실행하고 아무 문제가 없다] :

그리고 우리는 우리의 사업 구현 [을 배포하는 데 도움이 더 나은 대안을 찾기 위해 노력하고있다 푸른 VM에 배포 된 윈도우 서비스 을 만든 현재 Azure 웹 사이트 및/또는 Azure Cloud Service에 Window Service로 래핑됩니다.

하나 개의 가능한 대안 :

  1. 는 ASP.NET MVC 웹 사이트
  2. 만들기는 3 작업

    을 만듭니다. 시작 [정적 타이머 시작]

    b. 정지 [정지 타이머 정지]

    c. 실행 [타이머 경과 후 WebRequest를 통해 호출]

  3. 해당 사이트를 Azure 웹 사이트에 배포하십시오.

1) Cloud [Azure/Amazon 또는 기타]에서 위의 대안을 구현 한 적이 있습니까?

2) 그렇다면 문제와 해결 방법/해결책을 알고 싶습니다.

3) 더 좋은 대안이 있습니까?

4) 현재 시나리오에서 Window Service가 가장 적합한 솔루션입니까?

답변

2

NT 서비스는 무엇을합니까? 시스템을 시작할 때 시작하여 무언가를 "듣고"가져올 위치를 아는 물건을 처리하기 위해 무한 루프를 실행합니다.

작업자 역할 (및 웹 역할도 IIS를 사용하는 실제로 작업자 역할 임)은 동일합니다. Azure 인프라가 시작되고 실패하면 다시 시작한 다음 RoleEntryPoint.OnStart()이 호출되고 RoleEntryPoint.Run()이 호출되고 후자는 영원히 잠들거나 무한 루프를 실행해야합니다. 기본적으로 NT 서비스와 동일하지만 차이점은 NT 서비스가 특정 컴퓨터에 바인딩되어 있고 작업자/웹 역할이 "배포"(실행 코드 조합과 해당 코드 설정)에 바인딩되어 있다는 것입니다.

1

작업자 역할, 서비스 버스 및 클라우드 서비스를 사용하십시오. 보다 강력한 구현이며 찾고있는 API를 제공합니다. 확인 this article

관련 문제