Azure Service Bus verkennen
Azure Service Bus is een volledig beheerde enterprise-berichtenbroker met berichtenwachtrijen en onderwerpen over publiceren/abonneren. Service Bus wordt gebruikt om toepassingen en services los te koppelen. Gegevens worden uitgewisseld tussen verschillende toepassingen en services met behulp van berichten. Een bericht is een container die is voorzien van metagegevens en gegevens bevat. De gegevens kunnen elk soort informatie zijn, inclusief gestructureerde gegevens die zijn gecodeerd met de algemene indelingen, zoals JSON, XML, Apache Avro en Tekst zonder opmaak.
Enkele algemene berichtenscenario's:
- Berichtenuitwisseling. Draag bedrijfsgegevens over, zoals verkoop- of inkooporders, dagboeken of voorraadverplaatsingen.
- Toepassingen loskoppelen. Verbeter de betrouwbaarheid en schaalbaarheid van toepassingen en services. Client en service hoeven niet tegelijkertijd online te zijn.
- Onderwerpen en abonnementen. 1:n-relaties mogelijk maken tussen uitgevers en abonnees.
- Berichtsessies. Werkstromen implementeren waarvoor het ordenen of uitstellen van berichten vereist is.
Service Bus-lagen
Service Bus biedt basic-, standard- en premium-lagen. De Premium-laag van Service Bus Messaging voorziet in veelvoorkomende klantaanvragen op schaal, prestaties en beschikbaarheid voor bedrijfskritieke toepassingen. De Premium-laag wordt aanbevolen voor productiescenario's. Hoewel de functiesets bijna identiek zijn, zijn deze twee lagen van de Service Bus Messaging-service ontworpen voor verschillende gebruiksscenario’s. Ga naar Service Bus-prijzen voor meer informatie over de beschikbare lagen.
Enkele algemene verschillen tussen de premium- en standard-lagen worden gemarkeerd in de volgende tabel.
Premium | Standaard |
---|---|
Hoge doorvoersnelheid | Variabele doorvoersnelheid |
Voorspelbare prestaties | Variabele latentie |
Vaste prijzen | Variabel omslagstelsel voor betalen per gebruik |
Mogelijkheid om de workload omhoog en omlaag te schalen | N.v.t. |
Berichtgrootte tot 100 MB | Berichtformaat tot maximaal 256 kB |
Geavanceerde functies
Service Bus beschikt over geavanceerde functies waarmee u complexere problemen met berichtenuitwisseling kunt oplossen. In de volgende tabel worden verschillende van deze functies beschreven.
Functie | Beschrijving |
---|---|
Berichtsessies | Als u er zeker van wilt zijn dat berichten in Service Bus op basis van FIFO (first in, first out) worden verwerkt, moet u sessies gebruiken. Berichtsessies maken exclusieve, geordende verwerking van niet-gekoppelde reeksen gerelateerde berichten mogelijk. |
Automatisch doorsturen | De functie voor automatisch doorschakelen koppelt een wachtrij of abonnement aan een andere wachtrij of een ander onderwerp dat zich in dezelfde naamruimte bevindt. |
Wachtrij voor onbestelbare berichten | Service Bus ondersteunt een wachtrij voor onbestelbare berichten (DLQ). Een DLQ bevat berichten die niet aan een ontvanger kunnen worden geleverd. Met Service Bus kunt u berichten uit de DLQ verwijderen en deze controleren. |
Geplande bezorging | U kunt berichten naar een wachtrij of onderwerp verzenden voor een vertraagde verwerking. U kunt plannen dat een taak op een bepaald moment beschikbaar is voor verwerking in een systeem. |
Berichten uitstellen | Een wachtrij- of abonnementsclient kan het ophalen van een bericht tot een later tijdstip uitstellen. Het bericht blijft in de wachtrij of het abonnement staan, maar wordt apart gezet. |
Transacties | Een transactie groepeert twee of meer bewerkingen in een uitvoeringsbereik. Service Bus biedt ondersteuning voor het groeperen van bewerkingen voor één berichtentiteit binnen het bereik van één transactie. Een berichtentiteit kan een wachtrij, onderwerp of abonnement zijn. |
Filteren en acties | Abonnees kunnen definiëren welke berichten ze willen ontvangen van een onderwerp. Deze berichten worden opgegeven in de vorm van een of meer benoemde abonnementsregels. |
Automatisch verwijderen bij inactiviteit | Automatisch verwijderen bij inactiviteit houdt in dat u een interval voor inactiviteit kunt opgeven waarna de wachtrij automatisch wordt verwijderd. De minimale duur is vijf minuten. |
Duplicaatdetectie | Een fout kan ertoe leiden dat de client twijfelt over het resultaat van een verzendbewerking. Met duplicaatdetectie kan de afzender hetzelfde bericht opnieuw verzenden of kan de wachtrij of het onderwerp dubbele kopieën negeren. |
Beveiligingsprotocollen | Service Bus biedt ondersteuning voor beveiligingsprotocollen zoals SAS (Shared Access Signatures), RBAC (op rollen gebaseerd toegangsbeheer) en MSI (Managed Service Identity) voor Azure-resources. |
Geo-noodherstel | Wanneer er sprake is van uitval in Azure-regio's of -datacenters, zorgt geo-herstel na noodgeval ervoor dat de gegevensverwerking kan plaatsvinden in een andere regio of in een ander datacenter. |
Beveiliging | Service Bus ondersteunt standaard AMQP 1.0 en HTTP/REST-protocollen. |
Naleving van standaarden en protocollen
Het primaire wire-protocol voor Service Bus is Advanced Messaging Queueing Protocol (AMQP) 1.0, een open ISO/IEC-standaard. Hiermee kunnen klanten toepassingen schrijven die werken met Service Bus en on-premises brokers, zoals ActiveMQ of RabbitMQ. De AMQP-protocolhandleiding bevat gedetailleerde informatie voor het geval u een dergelijke abstractie wilt maken.
Service Bus Premium voldoet volledig aan de Java/Jakarta EE Java Message Service (JMS) 2.0 API.
Clientbibliotheken
Volledig ondersteunde Service Bus-clientbibliotheken zijn beschikbaar via de Azure SDK.
- Azure Service Bus voor .NET
- Azure Service Bus-bibliotheken voor Java
- Azure Service Bus-provider voor Java JMS 2.0
- Azure Service Bus-modules voor JavaScript en TypeScript
- Azure Service Bus-bibliotheken voor Python