- Vårt erbjudande
- Kundcase
- Insikter & Inspiration
- Om oss

En introduktion till Azure Service Bus
/ Data & Integrations /
En introduktion till Azure Service Bus
Vad är Azure Service Bus?
Tänk dig Azure Service Bus som en väldigt organiserad digital brevlåda där producenten skickar ett meddelande och konsumenten hämtar det när den är redo. Perfekt för att bygga robusta, löskopplade och skalbara integrationer mellan dina applikationer och tjänster.
Det funkar lika bra när det gäller några meddelanden i timmen som tiotusentals per sekund.
Här är några exempel på där Azure Service Bus är ett bra alternativ:
🛒 E-handelsplattform: Orderläggningar läggs på en kö och hanteras i turordning av ett orderhanteringssystem, oberoende av trafiktoppar.
🏦 Bank och finans: Kreditkontroller triggar olika kontrollsystem via Topics där varje system får sin egen kopia av samma meddelande.
🚚 Logistiklösning: För varje inkommande transportskanning skickas ett meddelande till en Topic-prenumeranter ansvarar för lageruppdatering, aviseringar och fakturering.
⚙️ Integration mellan system: Ett CRM-system skickar uppdateringar till en Queue, där ett externt system hämtar och synkar informationen asynkront.
📩 Mail- eller SMS-tjänster: Notifieringar läggs i en kö som processas av en skalbar utskicksfunktion där inga meddelanden tappas vid belastningstoppar.
Prestanda och meddelandestorlek
⚡ Skalbarhet:
Azure Service Bus är byggd för att hantera stora volymer av meddelanden, både i hög frekvens och över lång tid. Med hjälp av funktioner som auto-forwarding, batching och message sessions klarar den att hantera komplexa flöden utan att tappa prestanda.
📦 Meddelandestorlek:
- Standard: Max 256 KB per meddelande (inkl. headers och egenskaper).
- Premium: Max 1 MB per meddelande.
- Behöver du mer? Då kan du kan använda Message Chaining eller lagra datan i exempelvis Blob Storage och bara skicka referensen via Service Bus.
Queue vs Topic – vad är skillnaden?
Azure Service Bus har stöd för både Queues och Topics. Ibland kan det vara svårt att veta när man ska använda vad.
💌 Queue (Kö) - En-till-en
Ett meddelande, en mottagare. Producerat meddelande läggs på kön och hanteras av nästa tillgängliga mottagare. Bra för orderhantering, fakturering eller processköer.
📣 Topic & Subscriptions - En-till-många
Ett meddelande skickas till en Topic, och alla Subscriptions som matchar kriterierna får varsin kopia. Perfekt för notifieringar, eventdrivna arkitekturer och pub/sub-scenarier.
Scenarion Queue Topic
En mottagare per meddelande ✅ ❌
Flera mottagare av samma meddelande ❌ ✅
Enkel processkö eller batchjobb ✅ ❌
Eventdriven arkitektur eller pub/sub ❌ ✅
Inbyggda integrationer i Azure
Azure Service Bus fungerar väldigt bra tillsammans med andra Azure-tjänster - direkt från start. Här är ett axplock av resurser som har stöd för att kopplas ihop direkt med Azure Service Bus.
🔧 Azure Functions – Automatiskt lyssna på Queue eller Topic och trigga kod.
🧩 Logic Apps – Bygg integrationsflöden utan kod.
💾 Azure Event Grid - Koppla ihop eventdrivna flöden.
📥 Azure Data Factory - Hämta meddelanden och transformera data.
🧠 Azure Synapse - Reagera på nya meddelanden som en del av data pipelines.
📡 Azure IoT Hub - Skicka IoT-data vidare till Service Bus för bearbetning.
Shared Access Policies – så sätter du upp rättigheter
För att skicka eller lyssna på en Queue eller Topic behöver du autentisera dig. Vilket är väldigt enkelt att sätta upp i Azure-portalen
- Gå till din Service Bus-resurs i Azure Portal.
- Välj Shared access policies.
- Skapa ny policy med t.ex. Send, Listen eller Manage (beroende på vilken behörighet du vill tillåta).
- Kopiera connection-strängen och använd där du vill ansluta till Service Bus:en.
Hur går man tillväga för att skicka och lyssna på meddelanden?
Att skicka och lyssna på meddelanden är superenkelt och görs med ett par rader kod.
Vanligast är att meddelandena är i JSON-format som man sedan parsar till objekt.
Här är några exempel:
Skicka meddelanden till en Queue
var client = new ServiceBusClient("<din-connection-string>");
var sender = client.CreateSender("orders");
var message = new ServiceBusMessage("Hej från Wizardworks!");
await sender.SendMessageAsync(message);
Lyssna på en Queue med Azure Function
[FunctionName("QueueListener")]
public void Run(
[ServiceBusTrigger("orders", Connection = "ServiceBusConnection")] string message,
ILogger log)
{
log.LogInformation($"Meddelande mottaget: {message}");
}
Lyssna på en Topic Subscription med Azure Function
[FunctionName("TopicListener")]
public void Run(
[ServiceBusTrigger("invoices", "finance", Connection = "ServiceBusConnection")] string message,
ILogger log)
{
log.LogInformation($"Fakturameddelande mottaget: {message}");
}
Summering
Azure Service Bus är mer än bara en meddelandekö. Det är en integrationsmotor som fungerar lika bra för små, enkla lösningar som för storskaliga, distribuerade system. Med stöd för höga volymer, smidig integration med Azure-tjänster och avancerade funktioner som Topic Filters, Dead Letter Queues och Sessions är det ett kraftfullt verktyg i varje arkitekts molnarsenal.
💬 Vill du diskutera hur det passar i din lösning? Vi på Wizardworks hjälper dig gärna, oavsett om du vill ha en proof-of-concept eller en fullskalig lösning redo för produktion.
