Guide d'utilisation du QPID

Edge for Private Cloud version 4.54.00 est fourni avec Qpid Broker-J 10.0.1. Cette page décrit les considérations relatives à la mémoire et au disque pour le apigee-qpidd composant d'Edge for Private Cloud (avec un broker basé sur Java). Les sections ci-dessous s'appliquent spécifiquement au cas d'utilisation de Qpid par Apigee et expliquent comment régler Qpid à l'aide des mécanismes de configuration d'Apigee.

Qpid dans Apigee

Dans Apigee, Qpid est utilisé dans deux workflows principaux :

  • Analytics
  • Monétisation

Dans ces deux workflows, le processeur de messages génère des messages, qui sont collectés par lots et envoyés à Qpid. Pour Analytics, les messages sont lus par Qpid-server. Pour la monétisation, ils sont lus par le serveur de tarification (qui fait partie du serveur de gestion). Une fois lus, les messages par lots sont dégroupés et ingérés.

Les sections suivantes décrivent les configurations recommandées pour la mémoire et le disque avec Qpid. Ces configurations sont basées sur une taille de message unique de 2 Ko pour Analytics ou la monétisation. Avec une taille de lot par défaut de 50, chaque message dans Qpid serait d'environ 100 Ko. Apigee permet aux proxys de modifier et d'ajouter des informations supplémentaires à un message (Analytics ou monétisation). Dans les cas extrêmes, cela peut modifier considérablement la taille d'un seul message et du message par lots global dans Qpid. Bien que les recommandations générales concernant la mémoire et le disque dans les sections ci-dessous restent valables même dans de tels cas, vous devrez peut-être effectuer des ajustements supplémentaires dans Qpid pour garantir le bon fonctionnement.

Mémoire

Qpid Broker utilise deux types de mémoire : la mémoire hors tas et la mémoire tas. Qpid stocke les messages dans la mémoire hors tas et utilise la mémoire tas pour ses propres tâches internes, les messages directs vers les files d'attente et les échanges, etc. Dans la plupart des cas, Apigee vous recommande de conserver un rapport de 3:1 entre la mémoire hors tas et la mémoire tas pour Qpid Broker.

Les messages dans la mémoire hors tas sont conservés sur le disque. De plus, si l'utilisation totale de la mémoire hors tas dépasse un certain seuil, Qpid est configuré pour déborder les messages sur le disque.

Par défaut, Apigee calcule la mémoire tas et la mémoire hors tas de Qpid Broker en fonction de la mémoire disponible sur le nœud. Les scripts d'Apigee ont une limite logicielle combinée de 4 Go pour la mémoire tas et mémoire hors tas de Qpid Broker. Si vous souhaitez remplacer ces limites, vous pouvez utiliser les deux configurations ci-dessous pour définir vos propres valeurs pour la mémoire tas et la mémoire hors tas de Qpid.

  • Configuration pour la mémoire tas : bin_run-qpidd_qpid.run.jvm.max_vm_heap=1024m
  • Configuration pour la mémoire hors tas : bin_run-qpidd_qpid.run.jvm.max_direct_memory_size=3072m

Pour savoir comment remplacer des configurations, consultez Modifier une configuration Qpid pour information.

Pour en savoir plus, consultez la documentation de référence Apache Qpid pour la mémoire.

Disque

Le répertoire de données de Qpid Broker est $APIGEE_ROOT/data/apigee-qpidd. Les journaux de Qpid Broker sont stockés dans $APIGEE_ROOT/var/log/apigee-qpidd.

Les performances du système de fichiers hébergeant le répertoire de données sont essentielles pour les performances du broker dans son ensemble. Pour des performances optimales, choisissez un appareil à faible latence et qui n'est pas utilisé par d'autres applications.

Qpid Broker conserve ses messages dans le répertoire de données. Par défaut, le broker accepte les messages jusqu'à ce que le système de fichiers hébergeant le répertoire de données soit rempli à 80 %. Vous pouvez modifier ce seuil en remplaçant la configuration indiquée dans l'exemple ci-dessous sur chaque nœud Qpid.

bin_run-qpidd_qpid.store.filesystem.maxUsagePercent=60

Dans cet exemple, le broker rejette les nouveaux messages lorsque le système de fichiers sous-jacent est rempli à 60 %

Modifier une configuration Qpid

Pour modifier une configuration Qpid :

  1. Créez ou modifiez le fichier suivant :
    $APIGEE_ROOT/customer/application/qpidd.properties
  2. Ajoutez, supprimez ou modifiez la configuration si nécessaire. Par exemple, pour modifier la mémoire tas maximale de Qpid Broker à 6 Go, ajoutez le remplacement de configuration suivant dans le fichier :
    bin_run-qpidd_qpid.run.jvm.max_vm_heap=6144M
  3. Enregistrez les modifications et assurez-vous que le fichier appartient à l'utilisateur apigee et qu'il peut le lire :
    chown apigee:apigee $APIGEE_ROOT/customer/application/qpidd.properties
  4. Redémarrez le processus qpidd :
    apigee-service apigee-qpidd restart