Dela via


Azure Service Bus – avancerade funktioner

Service Bus innehåller avancerade funktioner som gör att du kan lösa mer komplexa meddelandeproblem. I den här artikeln beskrivs flera av dessa funktioner.

Meddelandesessioner

Om du vill skapa en fifo-garanti (first-in, first-out) i Service Bus använder du sessioner. Meddelandesessioner möjliggör exklusiv, ordnad hantering av obundna sekvenser av relaterade meddelanden. För att tillåta hantering av sessioner i storskaliga system med hög tillgänglighet tillåter sessionsfunktionen också lagring av sessionstillstånd, vilket gör att sessioner kan flyttas mellan hanterare på ett säkert sätt. Mer information finns i Meddelandesessioner: först in, först ut (FIFO).

Autoforwarding

Funktionen autoforwarding kedjar en kö eller prenumeration till en annan kö eller ett annat ämne i samma namnområde. När du använder den här funktionen flyttar Service Bus automatiskt meddelanden från en kö eller prenumeration till en målkö eller ett ämne. Alla sådana drag görs transaktionsmässigt. Mer information finns i Länka Service Bus-entiteter med autoforwarding.

Kö med obeställbara meddelanden

Alla Service Bus-köer och ämnens prenumerationer har associerade köer med obeställbara meddelanden (DLQ). En DLQ innehåller meddelanden som uppfyller följande villkor:

  • De kan inte levereras till någon mottagare.
  • De tog timeout.
  • De åsidosätts uttryckligen av det mottagande programmet.

Meddelanden i kön med obeställbara meddelanden kommenteras med orsaken till att de har placerats där. Kön med obeställbara meddelanden har en speciell slutpunkt, men fungerar annars som vilken vanlig kö som helst. Ett program eller verktyg kan bläddra i en DLQ eller avqueue från den. Du kan också autoforwarda ut ur en kö med obeställbara meddelanden. Mer information finns i Översikt över Service Bus-köer med obeställbara meddelanden.

Schemalagd leverans

Du kan skicka meddelanden till en kö eller ett ämne för fördröjd bearbetning och ange en tid när meddelandet blir tillgängligt för förbrukning. Schemalagda meddelanden kan också avbrytas. Mer information finns i Schemalagda meddelanden.

Skjut upp meddelanden

En kö- eller prenumerationsklient kan skjuta upp hämtningen av ett mottaget meddelande till en senare tid. Meddelandet kan ha publicerats i en förväntad ordning och klienten vill vänta tills det tar emot ett annat meddelande. Uppskjutna meddelanden finns kvar i kön eller prenumerationen och måste återaktiveras explicit med hjälp av deras tjänsttilldelade sekvensnummer. Mer information finns i Meddelandeförsening.

Transaktioner

En transaktion grupperar två eller flera åtgärder tillsammans i en körning. Med Service Bus kan du gruppera åtgärder mot flera meddelandeentiteter inom omfånget för en enda transaktion. En meddelandeentitet kan vara en kö, ett ämne eller en prenumeration. Mer information finns i Översikt över Service Bus-transaktionsbearbetning.

Ta bort automatiskt vid inaktivt läge

Med automatisk borttagning vid inaktivitet kan du ange ett inaktivt intervall efter vilket en kö- eller ämnesprenumeration tas bort automatiskt. Intervallet återställs när ett meddelande läggs till i eller tas bort från prenumerationen. Minimilängden är 5 minuter. En översikt över vad som anses vara inaktivitet för entiteter finns i Inaktivitet.

Dubblettidentifiering

Dubblettidentifieringsfunktionen gör det möjligt för avsändaren att skicka samma meddelande igen och att asynkron meddelandekö släpper en potentiell dubblett. Mer information finns i Dubblettidentifiering.

Batchborttagning av meddelanden

Azure Service Bus stöder borttagning av meddelanden i batchar. Det är användbart i scenarier när meddelanden i köer eller prenumerationer har upphört att gälla, eller inte längre är relevanta, vilket kräver en rensning. Mer information finns i Batch-borttagning.

Supportbeställning

Med funktionen Supportbeställning kan du ange om meddelanden som skickas till ett ämne vidarebefordras till prenumerationen i samma ordning som de skickades. Den här funktionen stöder inte partitionerade ämnen. Mer information finns i TopicProperties.SupportOrdering i .NET eller TopicProperties.setOrderingSupported i Java.

Geohaveriberedskap

När en Azure-region upplever stilleståndstid gör funktionen haveriberedskap att meddelandebearbetningen kan fortsätta att fungera i en annan region eller ett annat datacenter. Funktionen behåller en strukturell spegling av ett namnområde som är tillgängligt i den sekundära regionen och gör att namnområdesidentiteten kan växla till det sekundära namnområdet. Meddelanden som redan har publicerats finns kvar i det tidigare primära namnområdet för återställning när tillgänglighetsavsnittet avtar. Mer information finns i Geo-haveriberedskap för Azure Service Bus. Den här funktionen replikerar endast metadata (entiteter, konfiguration, egenskaper) för Service Bus-entiteter, inte data i dem.

Geo-replikering

Funktionen För Geo-replikering i Service Bus är ett av alternativen för att isolera Azure Service Bus-program mot avbrott och katastrofer, vilket ger replikering av både metadata (entiteter, konfiguration, egenskaper) och data (meddelandedata och meddelandeegenskap/tillståndsändringar).

Säkerhet

Service Bus har stöd för AMQP(Advanced Message Queuing Protocol) 1.0 och HTTP- eller REST-protokoll och deras respektive säkerhetsfunktioner, inklusive säkerhet på transportnivå (TLS). Klienter kan auktoriseras för åtkomst med hjälp av signatur för delad åtkomst eller rollbaserad säkerhet i Microsoft Entra-ID .

För skydd mot oönskad trafik tillhandahåller Service Bus säkerhetsfunktioner som IP-brandvägg och integrering med virtuella nätverk.

Se Service Bus-meddelandeexempel som visar hur du använder dessa Service Bus-funktioner.