Plugin - Amazon MQ

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Plugin

Amazon MQ for RabbitMQ supporta anche i seguenti plugin.

plugin di gestione RabbitMQ

Amazon MQ for RabbitMQ supporta il plug-in di gestione RabbitMQ, che fornisce un'API di gestione basata su HTTP insieme a un'interfaccia utente basata su browser per la console Web RabbitMQ. È possibile utilizzare la console Web e l'API di gestione per creare e gestire utenti e policy del broker.

Plugin Shovel

Amazon MQ for RabbitMQ supporta il plug-in shovel RabbitMQ, che consente di spostare i messaggi dalle code e dagli scambi su un broker all'altro. È possibile utilizzare gli shovel per collegare i broker con accoppiamento debole e implementare i messaggi lontano dai nodi con carichi di messaggi più elevati.

Importante

Non è possibile configurare lo shovel tra code o scambi se la destinazione dello shovel è un broker privato.

Amazon MQ non supporta l'utilizzo di shovel statici.

Sono supportate solo le pale dinamiche. Le pale dinamiche sono configurate utilizzando parametri di runtime e possono essere avviate e interrotte in qualsiasi momento a livello di codice tramite una connessione client. Ad esempio, utilizzando l'API di gestione RabbitMQ, è possibile creare una richiesta PUT al seguente endpoint API per configurare uno shovel dinamico. Nell'esempio, {vhost} può essere sostituito dal nome del vhost del broker e {name} dal nome della nuova pala dinamica.

/api/parameters/shovel/{vhost}/{name}

Nel corpo della richiesta, è necessario specificare una coda o uno scambio, ma non entrambi. L'esempio seguente configura una pala dinamica tra una coda locale specificata in src-queue e una coda remota definita in dest-queue. Allo stesso modo, è possibile utilizzare i parametri src-exchange e dest-exchange per configurare una pala tra due exchange.

{ "value": { "src-protocol": "amqp091", "src-uri": "amqp://localhost", "src-queue": "source-queue-name", "dest-protocol": "amqp091", "dest-uri": "amqps://b-c8352341-ec91-4a78-ad9c-a43f23d325bb.mq.us-west2.amazonaws.com:5671", "dest-queue": "destination-queue-name" } }

Plugin federativo

Amazon MQ supporta scambi e code federati utilizzando il plug-in di federazione RabbitMQ. Con il plugin federativo, è possibile replicare il flusso di messaggi tra code, scambi e consumatori su broker separati. Le code e gli exchange federati utilizzano i point-to-point link per connettersi ai colleghi di altri broker. Mentre gli scambi federati, per impostazione predefinita, instradano i messaggi una sola volta, le code federate possono spostare i messaggi un numero qualsiasi di volte in base alle esigenze dei consumatori.

È possibile utilizzare il plugin federativo per consentire a un broker downstream di utilizzare un messaggio da uno scambio o una coda su un upstream. È possibile abilitare la federazione sui broker downsteam utilizzando la console Web RabbitMQ o l'API di gestione.

Importante

Non è possibile configurare la federazione se la coda a monte o lo scambio si trova in un broker privato. È possibile configurare la federazione solo tra code o scambi nei broker pubblici o tra una coda o uno scambio a monte in un broker pubblico e una coda o uno scambio a valle in un broker privato.

Ad esempio, è possibile utilizzare l'API di gestione per configurare la federazione eseguendo le operazioni seguenti.

  • Configurare uno o più upstream che definiscono le connessioni di federazione ad altri nodi. È possibile definire connessioni federative utilizzando la console Web RabbitMQ o l'API di gestione. Utilizzando l'API di gestione, puoi creare una richiesta POST a/api/parameters/federation-upstream/%2f/myupstreamcon il seguente corpo della richiesta.

    {"value":{"uri":"amqp://server-name","expires":3600000}}
  • Configurare una policy per consentire la federazione delle code o degli scambi. È possibile configurare le policy utilizzando la console Web RabbitMQ o l'API di gestione. Utilizzando l'API di gestione, puoi creare una richiesta POST a/api/policies/%2f/federate-me con il seguente corpo della richiesta.

    {"pattern":"^amq\.", "definition":{"federation-upstream-set":"all"}, "apply-to":"exchanges"}
    Nota

    Il corpo della richiesta presuppone che gli scambi sul server abbiano nomi che iniziano con amq. L'uso dell'espressione regolare ^amq\. assicurerà che la federazione sia abilitata per tutti gli scambi i cui nomi iniziano con «amq». Gli scambi sul server RabbitMQ possono essere nominati in modo diverso.

Plugin scambio di hash coerente

Amazon MQ for RabbitMQ supporta il plug-in RabbitMQ Consistent Hash Exchange Type. Gli scambi di hash coerenti instradano i messaggi alle code in base a un valore hash calcolato dalla chiave di routing di un messaggio. Data una chiave di routing ragionevolmente uniforme, gli scambi di hash coerenti possono distribuire i messaggi tra le code in modo ragionevole uniforme.

Per le code associate a uno scambio Consistent Hash, la chiave di associazione è una number-as-a-string che determina il peso di associazione di ciascuna coda. Le code con un peso di associazione maggiore riceveranno una distribuzione proporzionalmente superiore dei messaggi dallo scambio di hash coerente a cui sono associati. In una topologia di scambio di hash coerente, i mittenti possono semplicemente pubblicare messaggi nello scambio, ma i consumatori devono essere configurati in modo esplicito per utilizzare i messaggi provenienti da code specifiche.

OAuth Plugin 2.0

Amazon MQ for RabbitMQ supporta il plug-in backend di autenticazione a OAuth 2. Questo plugin è abilitato in modo condizionale in base alla configurazione del broker. Se abilitato, questo plugin fornisce l'autenticazione e l'autorizzazione OAuth 2.0 con integrazione con provider di identità OAuth 2.0 esterni per la gestione centralizzata degli utenti e il controllo degli accessi. Per ulteriori informazioni sull'autenticazione OAuth 2.0, vedereOAuth autenticazione e autorizzazione 2.0.

Plugin LDAP

Amazon MQ for RabbitMQ supporta il plug-in backend di autenticazione LDAP. Questo plugin è abilitato in modo condizionale in base alla configurazione del broker. Se abilitato, questo plugin fornisce l'autenticazione e l'autorizzazione LDAP con integrazione a servizi di directory LDAP esterni per l'autenticazione e l'autorizzazione centralizzate degli utenti. Per ulteriori informazioni sull'autenticazione LDAP, vedere. Autenticazione e autorizzazione LDAP

Plugin HTTP

Amazon MQ for RabbitMQ supporta il plug-in backend di autenticazione HTTP. Questo plug-in è abilitato in modo condizionale in base alla configurazione del broker. Se abilitato, questo plug-in fornisce l'autenticazione e l'autorizzazione HTTP con integrazione su server HTTP esterni per l'autenticazione e l'autorizzazione centralizzate degli utenti. Per ulteriori informazioni sull'autenticazione HTTP, vedereAutenticazione e autorizzazione HTTP.

Nota

Il plug-in di autenticazione HTTP è disponibile solo per Amazon MQ for RabbitMQ versione 4 e successive.

Plugin per certificati SSL

Amazon MQ supporta il TLS reciproco (mTLS) per i broker RabbitMQ. Il plug-in di autenticazione SSL utilizza i certificati client delle connessioni MTLS per autenticare gli utenti. Questo plugin è abilitato in modo condizionale in base alla configurazione del broker. Se abilitato, fornisce l'autenticazione basata su certificati utilizzando certificati client X.509 per un'autenticazione avanzata senza trasmettere credenziali sulla rete. Per ulteriori informazioni sull'autenticazione dei certificati SSL, consulta. Autenticazione con certificato SSL

Nota

Il plug-in di autenticazione del certificato SSL è disponibile solo per Amazon MQ for RabbitMQ versione 4 e successive.

plugin aws

Il plug-in aws è abilitato in modo condizionale da Amazon MQ per RabbitMQ in base alla configurazione del broker. Questo plug-in della community, sviluppato e gestito da Amazon MQ, fornisce il recupero sicuro di credenziali e certificati dai AWS servizi utilizzando AWS ARNs le impostazioni di configurazione di RabbitMQ. Per ulteriori informazioni sul supporto ARN, vedere. ARN support in RabbitMQ configuration