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à.
Connessione ad Amazon MQ
I seguenti modelli di progettazione possono migliorare l'efficacia della connessione dell'applicazione alil broker Amazon MQ.
Argomenti
- Non modificare né eliminare mai l'interfaccia di rete elastica Amazon MQ
- Usa sempre il pooling delle connessioni
- Usa sempre Failover Transport per la connessione a più endpoint del broker
- Evita l'uso di selettori di messaggi
- Preferisci destinazioni virtuali ad abbonamenti durevoli
- Se si utilizza il peering Amazon VPC, evitare gli IP client nell'intervallo CIDR 10.0.0.0/16
Non modificare né eliminare mai l'interfaccia di rete elastica Amazon MQ
La prima volta che crei un broker Amazon MQ, Amazon MQ esegue il provisioning di un'interfaccia di rete elastica nel Virtual Private Cloud (VPC) nel tuo account e, pertanto, richiede una serie di autorizzazioni EC2. L'interfaccia di rete consente al client (produttore o consumatore) di comunicare con il broker Amazon MQ. L'interfaccia di rete è considerata interna all'ambito del servizio di Amazon MQ, pur facendo parte del VPC dell'account.
avvertimento
Questa interfaccia di rete deve essere modificata o eliminata. La modifica o l'eliminazione dell'interfaccia di rete può causare una perdita permanente della connessione tra il VPC e il broker.
Usa sempre il pooling delle connessioni
In uno scenario con un singolo produttore e un singolo consumatore (ad esempio il tutorial Getting Started with Amazon MQ), puoi utilizzare una singola classe ActiveMQConnectionFactory
// Create a connection factory.
final ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(wireLevelEndpoint);
// Pass the sign-in credentials.
connectionFactory.setUserName(activeMqUsername);
connectionFactory.setPassword(activeMqPassword);
// Establish a connection for the consumer.
final Connection consumerConnection = connectionFactory.createConnection();
consumerConnection.start();
Tuttavia, in scenari più realistici con più produttori e consumatori, creare un numero elevato di connessioni per più produttori può essere costoso e inefficiente. In questi scenari, è consigliabile raggruppare più richieste del produttore utilizzando la classe PooledConnectionFactory
Nota
I consumatori dei messaggi non dovrebbero mai utilizzare la classe PooledConnectionFactory
.
// Create a connection factory.
final ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(wireLevelEndpoint);
// Pass the sign-in credentials.
connectionFactory.setUserName(activeMqUsername);
connectionFactory.setPassword(activeMqPassword);
// Create a pooled connection factory.
final PooledConnectionFactory pooledConnectionFactory = new PooledConnectionFactory();
pooledConnectionFactory.setConnectionFactory(connectionFactory);
pooledConnectionFactory.setMaxConnections(10);
// Establish a connection for the producer.
final Connection producerConnection = pooledConnectionFactory.createConnection();
producerConnection.start();
Usa sempre Failover Transport per la connessione a più endpoint del broker
Se è necessario che l'applicazione si connetta a più endpoint del broker, ad esempio quando si utilizza una modalità di implementazione attiva/standby o quando si esegue una migrazione da un broker di messaggistica on-premise ad Amazon MQ, usare il Trasporto del failover
failover:(ssl://b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9-1.mq.us-east-2.amazonaws.com:61617,ssl://b-9876l5k4-32ji-109h-8gfe-7d65c4b132a1-2.mq.us-east-2.amazonaws.com:61617)?randomize=true
Evita l'uso di selettori di messaggi
È possibile usare selettori JMS
In generale, non consentire ai consumatori di instradare i messaggi perché, per il disaccoppiamento ottimale di consumatori e produttori, questi devono essere entrambi temporanei.
Preferisci destinazioni virtuali ad abbonamenti durevoli
Un abbonamento durevole
Se si utilizza il peering Amazon VPC, evitare gli IP client nell'intervallo CIDR 10.0.0.0/16
Se stai configurando il peering Amazon VPC tra l'infrastruttura on-premise e il broker Amazon MQ, non devi configurare le connessioni client con gli IP nell'intervallo CIDR 10.0.0.0/16
.