2015-01-23 41 views
5

Zakładam, że zamiennikiem używania partycjonowanych kolejek i tematów jest to, że zamawianie wiadomości nie jest już gwarantowane.Jak obsługuje się zamawianie komunikatów FIFO za pomocą kolejki/tematów partycji Azure Service Bus?

Ponieważ wiadomości są domyślnie wysyłane do każdego z fragmentów/partycji, oznacza to, że zamawianie wiadomości nie jest już gwarantowane. Czy ktokolwiek może to potwierdzić?

W jaki sposób można zagwarantować kolejność wiadomości podczas odbierania transakcji z kolejki partycjonowanej.

Czy można w prosty sposób obsługiwać przekazywanie komunikatów FIFO za pomocą partycjonowanych kolejek/tematów? Zakładam, że wszystkie wiadomości dla tego samego klucza sesji/partycji byłyby przynajmniej dostarczone FIFO?

+0

Czy kiedykolwiek to rozgryzłeś? – dreza

+0

Obawiam się, że nie –

+0

http://stackoverflow.com/questions/7430036/how-to-gurantee-azure-queue-fifo –

Odpowiedz

5

Znalazłem to udokumentowane w poście na blogu.

Mam nadzieję, że pomoże!

Partitioned Service Bus Queues and Topics

sessionid. Jeśli komunikat ma ustawioną właściwość SessionId, to usługa Service Bus używa właściwości SessionId jako klucza partycji. W ten sposób wszystkie wiadomości należące do tej samej sesji są przypisywane do tego samego fragmentu i obsługiwane przez ten sam broker komunikatów. Dzięki temu Service Bus może gwarantować porządkowanie komunikatów, a także spójność stanów sesji.

0

Tylko dlatego, że nie używasz kolejki partycjonowanej lub tematu nie oznacza, że ​​otrzymasz FIFO. Jeśli masz więcej niż jednego czytnika lub zsynchronizujesz to nie, nie uzyskasz FIFO, O ile nie użyjesz Sesji, jak wskazano powyżej. Proszę używać sesji.