Connexion à Amazon MQ - Amazon MQ

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.

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.

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 pour chaque producteur et consommateur. Par exemple :

// 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. Par exemple :

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 pour autoriser vos consommateurs à se connecter de façon aléatoire à l'un des points de terminaison. Par exemple :

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 pour attacher des filtres à des inscriptions à des rubriques (pour acheminer des messages vers des consommateurs en fonction de leur contenu). Toutefois, l'utilisation des sélecteurs JMS remplit la mémoire tampon du filtre de l'agent Amazon MQ, ce qui empêche le filtrage des messages.

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 permet de s'assurer que le consommateur reçoit tous les messages publiés dans une rubrique, par exemple, après la restauration d'une connexion perdue. Cependant, l'utilisation d'abonnements durables interdit également l'utilisation des consommateurs concurrents et peut donner lieu à des problèmes à grande échelle. Envisagez d'utiliser plutôt des destinations virtuelles.

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.