2016-06-24 4 views
1

Azure 서비스 버스 대기열에서 가능한 한 빨리 메시지를 검색하는 최선의 방법을 찾으려고합니다.Azure 서비스 버스 대기열 읽기

알림 대기열에 제대로 가입하는 방법이없고 내가 폴링해야한다는 사실에 놀랐습니다. (내가 틀린 경우를 제외하고는 문서가 끔찍합니다.)

나는 긴 폴링 작업을하고 있지만 매 60 초마다 하나의 메시지를 확인하는 것은 월간 £ 900 주위에 비용이들 것 같습니다 (다시는 오해하지 않는 한). 폴링 할 중복/초 서비스를 추가하면 두 배가됩니다.

그래서 가장 효율적이고 비용 효율적인 방법이 무엇인지 궁금합니다.

기본적으로 큐에서 메시지를 가져 와서 일부 내부적으로 보유한 데이터 (아마도 하이브리드 서비스를 사용하고 있습니까?)에서 API 조회를 수행 한 다음 메시지를 다른 추가 정보와 함께 다른 큐에 다시 게시하려고합니다.

저는 작업자 역할 (?)을 보았습니다.

나는 이것을 node.js로보고 있음을 언급해야합니다.

+0

작업자 역할은 서비스 버스와는 아무런 관련이 없습니다. 단순한 상태 비 저장 Windows Server VM의 구성 및 확장 방법은 간단합니다. 이자형. –

+0

어떻게 가격을 받으셨습니까? 서비스 버스 대기열은 무료로 제공됩니다. 메시지 비용은 아무 것도 아님 – Thomas

+0

응답 해 주셔서 감사합니다. 나는 어딘가에서 작업자 역할이 대기열 추가 기능에 대해 알게되어서 내가 요청한 항목을 알 수 있다고 생각했습니다. 가격에 관해서는 그것이 내가 사용하고있는 폴링이 사용하는 http 호출에 대한 중개 연결 아래에있었습니다. 표준 계층에서는 처음 1000 개가 무료입니다. https://azure.microsoft.com/en-gb/pricing/details/service-bus/ 위대한 일이 잘못되었다는 사실을 알고 있습니까? 다시 한번 감사드립니다. – Darren

답변

2

Azure Queues의 Scott Hanselman 및 Mark Simms에서이 비디오를 확인하십시오. C#이지만 아이디어를 얻을 수 있습니다.

  • 포이즌 메시지 다루기 (수다스러운 대 땅딸막)을 순차적으로 서비스 버스 대기열 한 대 대량의 메시지를 잡아
  • , 당신이 중 하나 VM하는 작업자 역할 (클라우드 서비스), 응용 프로그램 서비스 Webjobs, 또는 푸른 기능을 수행 할 수 있습니다.

    Webjobs SDK 및 Azure Functions 봇은 큐 이벤트 (메시지 알림)에 가입 할 수있는 방법을 제공합니다.

    (IaaS에서 PaaS까지 FaaS - Azure 기능 - 그런 것이 있으면).

    Azure 함수에는 이미 Node를 사용하여 모든 작업을 수행하기위한 템플릿으로 제공된 샘플 코드가 있습니다. 새로운 기능을 만들고 마법사를 따르십시오.

    온 - 프레미어로 데이터를 터치해야하는 경우 사이트 간 연결을 사용하는 VNET과의 통합 또는 하이브리드 연결 (응용 프로그램 서비스!)을 살펴볼 필요가 있습니다. Azure 함수는 아직 수행 할 수 없지만 다른 모든 연산은 이동합니다.

    https://azure.microsoft.com/en-us/documentation/articles/web-sites-hybrid-connection-get-started/ (해당 튜토리얼은 Windows 만 있지만 모든 OS에서 데이터를 가져올 수 있습니다. 하이브리드 연결 관리자는 Windows 상자에 있어야하지만 네트워크의 모든 호스트에 대해 역방향 프록시로 작동합니다.)

    +0

    응답 해 주셔서 감사합니다. 큐에있는 메시지에 액세스 할 수는 있지만 함수에 대한 내 질문에 답을했지만 액세스 할 수는 없습니다. 다시 한번 감사드립니다. – Darren

    2

    Azure ServiceBus Queue를 쉽게 처리하려면 가장 좋은 옵션은 Azure Webjob 인 것 같습니다.

    Azure ServiceBus 큐에서 메시지를 가져올 수있는 ServiceBusTrigger이 있습니다.

    node.js 통합의 경우 Azure Function을 확인해야합니다. 그것은 webjob의 SDK 위에 구축과 Node.js를 통합해야한다 : 두 번째 기사에서는

    을 사용하여 큐에서 메시지를 얻는 방법에 대한 예제가있다 Azure 함수 및 노드 :

    module.exports = function(context, myQueueItem) { 
        context.log('Node.js ServiceBus queue trigger function processed message', myQueueItem); 
        context.done(); 
    }; 
    
    +0

    답변 해 주셔서 감사합니다. 기능을 살펴 보았지만 하이브리드 연결이 부족하여 불행히도 그것을 제외시켰다. – Darren

    관련 문제