10 Stimmen

Wie garantiert man Azure Queue FIFO

Ich verstehe, dass MS Azure Queue Service Dokument http://msdn.microsoft.com/en-us/library/windowsazure/dd179363.aspx sagt, dass das FIFO-Verhalten (First Out) nicht garantiert ist.

Unsere Anwendung ist jedoch so beschaffen, dass ALLE Nachrichten in FIFO-Reihenfolge gelesen und verarbeitet werden müssen. Könnte jemand bitte vorschlagen, wie man mit Azure Queue Service ein garantiertes FIFO erreicht?

Ich danke Ihnen.

-1voto

maha saad Punkte 41

Wie hier erwähnt https://www.jayway.com/2013/12/20/message-ordering-on-Windows-azure-service-bus-queues/ die Bestellung ist auch im Service-Bus nicht garantiert, es sei denn, man verwendet den Modus "Empfangen und Löschen", was riskant ist

-1voto

Mohit Verma Punkte 4883

Sie müssen nur die folgenden Schritte befolgen, um eine Nachrichtenbestellung zu gewährleisten:

1) Erstellen Sie eine Warteschlange mit session enabled=false. 2) Geben Sie beim Speichern der Nachricht in der Warteschlange die Sitzungs-ID wie folgt an:-

var message = new BrokeredMessage(item);
message.SessionId = "LB";
Console.WriteLine("Response from Central Scoring System : " + item);
client.Send(message);

3) Bei der Erstellung des Empfängers für die Wiederherstellung der Nachricht: -

queueClient.OnMessage(s =>
{
    var body = s.GetBody<string>();
    var messageId = s.MessageId;
    Console.WriteLine("Message Body:" + body);
    Console.WriteLine("Message Id:" + messageId);
});

4) Wenn die gleiche Sitzungsnummer verwendet wird, wird die Bestellung automatisch sichergestellt und die bestellte Nachricht übermittelt.

Danke!

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X