Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Connexion à Amazon MQ
Les modèles de conception suivants peuvent améliorer l'efficacité de la connexion de votre application à votre agent Amazon MQ.
Rubriques
- Ne jamais modifier ou supprimer l'interface réseau Elastic Amazon MQ
- Toujours utiliser le regroupement de connexions
- Toujours utiliser le transport de basculement pour se connecter à plusieurs points de terminaison d'agent
- Éviter d'utiliser des sélecteurs de messages
- Préférer des destinations virtuelles à des abonnements durables
- Si vous utilisez l'appairage de VPC Amazon, évitez les adresses IP des clients dans la plage CIDR 10.0.0.0/16
Ne jamais modifier ou supprimer l'interface réseau Elastic Amazon MQ
Lorsque vous créez un agent Amazon MQ pour la première fois, Amazon MQ alloue une interface réseau Elastic dans le Virtual Private Cloud (VPC) sous votre compte et demande un nombre d'autorisations EC2. L'interface réseau permet à votre client (producteur ou consommateur) de communiquer avec l'agent Amazon MQ. L'interface réseau est considérée comme étant dans la portée du service d'Amazon MQ, bien que faisant partie du VPC de votre compte.
Avertissement
Vous ne devez pas modifier ou supprimer cette interface réseau. La modification ou la suppression de l'interface réseau peut entraîner une perte définitive de la connexion entre votre VPC et votre agent.
![](images/amazon-mq-network-configuration-architecture-vpc-elastic-network-interface.png)
Toujours utiliser le regroupement de connexions
Dans un scénario avec un seul producteur et un seul consommateur (comme dans le didacticielGetting Started with Amazon MQ), vous pouvez utiliser une seule 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();
Toutefois, dans des scénarios plus réalistes avec plusieurs producteurs et plusieurs consommateurs, il peut s'avérer coûteux et inefficace de créer un grand nombre de connexions pour plusieurs producteurs. Dans ces scénarios, vous devez regrouper plusieurs demandes de producteurs à l'aide de la classe PooledConnectionFactory
Note
Les consommateurs de messages ne doivent jamais utiliser 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();
Toujours utiliser le transport de basculement pour se connecter à plusieurs points de terminaison d'agent
Si vous avez besoin que votre application se connecte à plusieurs points de terminaison d'agent, par exemple, lorsque vous utilisez un mode de déploiement actif/en veille ou lorsque vous migrez à partir d'un agent de messages sur site vers Amazon MQ, utilisez le transport de basculement
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
Éviter d'utiliser des sélecteurs de messages
Il est possible d'utiliser des sélecteurs JMS
En général, évitez de laisser les consommateurs acheminer des messages car, pour un découplage optimal des consommateurs et des producteurs, le consommateur et le producteur doivent être éphémères.
Préférer des destinations virtuelles à des abonnements durables
Un abonnement durable
Si vous utilisez l'appairage de VPC Amazon, évitez les adresses IP des clients dans la plage CIDR 10.0.0.0/16
Si vous configurez l'appairage de VPC Amazon entre l'infrastructure sur site et votre agent Amazon MQ, vous ne devez pas configurer les connexions client avec des adresses IP dans la plage CIDR 10.0.0.0/16
.