Deprecated feature

Désactiver Hystrix sur le Store server

Le framework Hystrix sert de proxy pour des ressources back-end telles que le Transaction server et le Search server par défaut. Cette fonction peut être désactivée, mais elle a des conséquences sur les performances qui doivent être prises en compte.

Pour en savoir plus sur Hystrix, voir Hystrix sur le Store server.
  • HCL Commerce Version 9.1.14.0 or laterDans les versions 9.1.14.0 et supérieures de HCL Commerce, Hystrix est désactivé par défaut, mais peut être activé lors du déploiement.
  • Dans les versions précédentes HCL Commerce, antérieures à la version 9.1.14.0, c'est le Commerce Remote Store (CRS), également connu sous le nom de Store server, qui implémente Hystrix.

    Dans ces versions, il est recommandé de désactiver Hystrix car il ne fait plus l'objet d'une maintenance.

Pour désactiver Hystrix sans avoir besoin de reconfigurer votre Store server, effectuez une mise à niveau vers HCL Commerce 9.1.14.0 ou une version supérieure.

Si vous souhaitez désactiver Hystrix sur une version de HCL Commerce comprise entre 9.1.0.0 et 9.1.13.0, effectuez la procédure suivante.

Procedure

  1. Désactivez Hystrix sur le Store server.
    1. Ouvrez le fichier Fichier de configuration du serveur de magasin (wc-store.xml) en édition.
      Ce fichier se trouve dans le répertoire crs.ear/xml/config/.
    2. Affectez la valeur false au paramètre enableHystrix.
      Les éléments suivants peuvent être ajoutés à votre Dockerfile pour implémenter cette modification lors du déploiement d'images.
      RUN sed -i 's/enableHystrix=\"true\"/enableHystrix=\"false\"/g' /opt/WebSphere/Liberty/usr/servers/default/apps/crs.ear/xml/config/wc-store.xml
  2. Reconfigurez le pool d'unités d'exécution de l'exécuteur par défaut.

    Le serveur WebSphere Application Server V8.5.5 Liberty sur lequel le CRS s'exécute implémente un pool d'unités d'exécution unique nommé "Exécuteur par défaut" pour traiter les requêtes entrantes. Ce pool est réglé automatiquement et s'adapte à la charge de travail en cours en ajoutant ou en supprimant dynamiquement des unités d'exécution.

    La désactivation des pools de requêtes Hystrix implique qu'en cas de ralentissement dans les serveurs d'arrière-plan, WebSphere Application Server V8.5.5 Liberty peut permettre au pool Default Executor de se développer, ce qui peut entraîner l'exécution et l'attente d'une réponse d'un grand nombre d'unités d'exécution par les services d'arrière-plan. Pour éviter cette condition, il est possible de configurer le pool Default Executor avec une limite supérieure en ajoutant un fichier de configuration personnalisé.

    Pour définir une limite pour le pool Default Executor, personnalisez l'image CRS en ajoutant un nouveau fichier de configuration WebSphere Application Server V8.5.5 Liberty.

    1. Créez un fichier nommé threadpool.xml.
      Ajoutez-y la configuration suivante :
      <server> <executor name="Default Executor" id="default" coreThreads="50" maxThreads="50" /> </server>
    2. Ajoutez le fichier de configuration threadpool.xml à l'image de CRS en ajoutant cette instruction à Dockerfile.
      COPY threadpool.xml /opt/WebSphere/Liberty/usr/servers/default/configDropins/overrides/threadpool.xml

Results

Hystrix n'est plus utilisé pour transmettre les requêtes aux services d'arrière-plan. Le pool Default Executor est limité pour éviter que des unités d'exécution non liées n'attendent et n'aient des répercussions sur les performances.