Esplorare il bus di servizio di Azure

Completato

Il bus di servizio di Microsoft Azure è un broker di messaggi di integrazione aziendale completamente gestito. Il bus di servizio può disaccoppiare applicazioni e servizi. I dati vengono trasferiti tra applicazioni e servizi diversi usando i messaggi. Un messaggio è un contenitore decorato con metadati che contiene dati. I dati possono essere qualsiasi tipo di informazioni, tra cui dati strutturati codificati con formati comuni come i seguenti: JSON, XML, Apache Avro, testo normale.

Di seguito sono riportati alcuni scenari di messaggistica comuni:

  • Messaggistica. trasferimento di dati aziendali, ad esempio ordini di vendita o di acquisto, giornali di registrazione o movimenti di magazzino.
  • Separazione delle applicazioni. Miglioramento dell'affidabilità e della scalabilità di applicazioni e servizi. Client e servizio non devono essere online nello stesso momento.
  • Argomenti e sottoscrizioni. Abilitazione di relazioni 1:n tra editori e sottoscrittori.
  • Sessioni di messaggistica. implementazione di flussi di lavoro che richiedono l'ordinamento dei messaggi o il rinvio dei messaggi.

Livelli del bus di servizio

Il bus di servizio offre un livello Standard e un livello Premium. Il livello Premium di messaggistica del bus di servizio gestisce le richieste comuni dei clienti relative a scalabilità, prestazioni e disponibilità per applicazioni cruciali. Il livello Premium è consigliato per gli scenari di produzione. Anche se i set di funzionalità sono quasi identici, questi due livelli di messaggistica del bus di servizio sono progettati per gestire diversi casi d'uso.

Nella tabella seguente sono evidenziate alcune differenze generali.

Premium Standard
Velocità effettiva elevata Velocità effettiva variabile
Prestazioni prevedibili Latenza variabile
Prezzi fissi Prezzi variabili con pagamento in base al consumo
Possibilità di aumentare e ridurre il carico di lavoro N/D
Dimensioni del messaggio fino a 100 MB Dimensioni del messaggio fino a 256 KB

Funzionalità avanzate

Il bus di servizio include funzionalità avanzate che consentono di risolvere problemi di messaggistica più complessi. La tabella seguente descrive diverse di queste funzionalità.

Funzionalità Descrizione
Sessioni di messaggistica Per creare una garanzia FIFO (First-In-First-Out) nel bus di servizio, usare le sessioni. Le sessioni di messaggi consentono la gestione esclusiva e ordinata di sequenze illimitate di messaggi correlati.
Inoltro automatico la funzionalità di inoltro automatico concatena una coda o una sottoscrizione a un'altra coda o a un altro argomento che si trova nello stesso spazio dei nomi.
Coda di messaggi non recapitabili il bus di servizio supporta una coda di messaggi non recapitabili. Una coda di messaggi non recapitabili contiene messaggi che non possono essere recapitati a nessun destinatario. Il bus di servizio consente di rimuovere i messaggi dalla coda di messaggi non recapitabili e di esaminarli.
Recapito pianificato è possibile inviare messaggi a una coda oppure a un argomento per l'elaborazione posticipata. È possibile pianificare un processo affinché diventi disponibile per l'elaborazione da parte di un sistema in un determinato momento.
Differimento dei messaggi Un client di coda o di sottoscrizione può rinviare il recupero di un messaggio fino a un momento successivo. Il messaggio rimane nella coda o nella sottoscrizione, ma viene messo da parte.
Batch L'invio in batch sul lato client consente a un client di coda o di argomento di ritardare l'invio di un messaggio per un determinato periodo di tempo.
Transazioni Una transazione raggruppa due o più operazioni in un ambito di esecuzione. Il bus di servizio supporta il raggruppamento di operazioni rispetto a un'unica entità di messaggistica nell'ambito di una singola transazione. Un'entità di messaggistica può essere una coda, un argomento o una sottoscrizione.
Filtraggio e azioni I sottoscrittori possono definire i messaggi che vogliono ricevere da un argomento. Per specificare tali messaggi, viene usata una o più regole di sottoscrizione denominate.
Eliminazione automatica durante l'inattività L'eliminazione automatica in caso di inattività consente di specificare un intervallo di inattività dopo il quale la coda viene automaticamente eliminata. La durata minima è 5 minuti.
Rilevamento duplicati Un errore può causare nel cliente un dubbio sul risultato di un'operazione di invio. Il rilevamento dei duplicati consente al mittente di inviare nuovamente lo stesso messaggio o permette alla coda o all'argomento di eliminare eventuali copie duplicate.
Protocolli di sicurezza Il bus di servizio supporta i protocolli di sicurezza, ad esempio firme di accesso condiviso, controllo degli accessi in base al ruolo e identità gestite per risorse di Azure.
Ripristino di emergenza geografico Quando le aree o i data center di Azure riscontrano tempo di inattività, il ripristino di emergenza geografico fa in modo che l'elaborazione dei dati continui a funzionare in un'area o in un data center diverso.
Sicurezza Il bus di servizio supporta i protocolli AMQP 1.0 e HTTP/REST standard.

Conformità a standard e protocolli

Il protocollo di collegamento principale per il bus di servizio è Advanced Messaging Queueing Protocol (AMQP) 1.0, uno standard ISO/IEC aperto. Consente ai clienti di scrivere applicazioni che funzionano con il bus di servizio e i broker locali, ad esempio ActiveMQ o RabbitMQ. La guida del protocollo AMQP fornisce informazioni dettagliate nel caso si decida di creare tale astrazione.

Il bus di servizio Premium è completamente conforme all'API JavaJakarta EE Java Message Service (JMS) 2.0.

Librerie client

Le librerie client del bus di servizio pienamente supportate sono disponibili tramite Azure SDK.