우리는 애플리케이션에서 일부 처리를 오프로드하여 더 많은 사용자 경험을 제공하면서도 과중한 작업을 수행하면서 Azure 서비스 버스 대기열을 발견 할 수있는 위치에 있습니다. .Azure 기능을 사용하는 Azure 서비스 버스 대기열 메시지 처리
데이터를 대기열에 넣는 방법과 메시지 대기열의 기본 아이디어를 이해합니다. 그러나 이해해야하는 것은 그들이 들어올 때 어떻게 처리해야하는지입니다. 단지 그것에 대해 생각할 때 어떤 방법이 있어야하는 것처럼 들립니다. 메시지가 들어올 때마다 수신 대기하는 Azure 기능을 구현하지만 계속 폴링하지 않고 어떻게 처리합니까? OnMessage를 사용하여 대기열에 가입 할 수 있다고 생각하지만 Azure 기능과 함께 작동하는 방법은 무엇입니까?
현재 우리가 이런 일을하고있는 예를 들어,
var client = QueueClient.CreateFromConnectionString(connectionString, queueName);
BrokeredMessage message = new BrokeredMessage();
while ((message = client.Receive(new TimeSpan(hours: 0, minutes: 0, seconds: 30))) != null)
{
Console.WriteLine(string.Format("Message received: {0}, {1}, {2}", message.SequenceNumber, message.Label, message.MessageId));
message.Complete();
Console.WriteLine("Processing message (sleeping...)");
Thread.Sleep(1000);
}
Console.WriteLine("Finished listening Press ENTER to exit program");
Console.ReadLine();
그러나
이 경우에 우리는 바로 폴링을 시뮬레이션하는? 이것은 단지 좋은 해결책으로 느껴지지 않습니다. 내 디자인에서이 잘못 생각하고 있니?
작은 보정 - 브로커가 클라이언트에 푸시 메시지를하지 않습니다. Azure 서비스 버스 클라이언트에는 메시지를 폴링하는 별도의 스레드에서 실행중인 메시지 펌프가 있습니다. –
고마워요.이게 내가 찾고있는 것 같지만이 방법을 사용하는 정확한 방법론을 찾을 수 없었습니다. – tokyo0709