Configuration par défaut du HCL Cache
Le fichier de configuration par défaut du HCL Cache (cache_cfg.yaml) contient toutes les configurations de cache fournies (clé en main).
Pour apporter des modifications aux paramètres par défaut qui sont définis dans ce fichier, modifiez les propriétés respectives dans le fichier de configuration du HCL Cache personnalisé. Les paramètres du fichier de configuration personnalisé, qui partage le même format que le fichier de configuration par défaut, écrasent les paramètres du fichier de configuration par défaut.
| Configuration | Description | ||
|---|---|---|---|
| clientId | Cette valeur est utilisée pour identifier le conteneur d'origine. Le clientId est stocké avec des entrées de cache et utilisé avec des messages d'invalidation. Sur un environnement Kubernetes, |
||
| namespace | Espace de nom facultatif Si configuré, l'espace de nom est pré-ajouté à tous les noms de cache du serveur Redis. Ceci est fait pour permettre à plusieurs environnements de partager la même base de données Redis. Ce paramètre est configuré par défaut pour correspondre au titulaire, à l'environnement et au type d'environnement. |
||
| logMetricsFrequency | Fréquence en secondes à laquelle les métriques de cache sont écrites dans les journaux. La valeur par défaut est 900 (15 minutes). L'enregistreur peut être désactivé par :
|
||
| redis | |||
| activé | Si Redis est activé. Par défaut, cette valeur est définie sur false. Utilisez la valeur true du fichier de configuration personnalisé du HCL Cache pour activer la mise en cache à distance. |
||
| yamlConfig |
Chemin d'accès au fichier de configuration YAML pour la connexion Redis. Par défaut, cette valeur est définie sur /SETUP/hcl-cache/redis_cfg.yaml. |
||
| circuitBreaker |
Pour les caches qui activent les interfaces locales et distantes, la configuration du circuit breaker permet au cache de fonctionner indépendamment en mode local lors d'une panne de Redis. Un cache est défini en mode panne lorsque les conditions de minimumFailureTimeMs et minimumConsecutiveFailures sont remplies. Pendant ce temps, les connexions à Redis ne sont retentées qu'après l'intervalle de temps défini par retryWaitTimeMs. Lorsque retryWaitTimeMs est atteint, le circuit breaker permet aux tentatives de connexion au serveur Redis de reprendre. Une requête réussie restaure la connexion à partir du mode panne. Si le nombre d'échecs continue et atteint la valeur définie dans minimumConsecutiveFailuresResumeOutage, le client est de nouveau défini en mode panne et doit à nouveau atteindre la valeur retryWaitTimeMs avant que le rétablissement d'une connexion ne soit tenté. Le paramètre minimumConsecutiveFailuresResumeOutage est utilisé pour permettre des tests rapides de la connexion après une panne sans avoir à attendre que les valeurs minimumFailureTimeMs et minimumConsecutiveFailures soient à nouveau atteintes. Voir aussi maxTimeToLiveWithRemoteOutage. |
||
| Configurations circuitBreaker | retryWaitTimeMs | Une fois qu'un cache est réglé en mode panne, retryWaitTimeMs est le temps en millisecondes qui doit s'écouler que la connexion Redis ne fasse l'objet d'une nouvelle tentative. Par défaut, cette valeur est définie sur 30000 (30 secondes). |
|
| minimumFailureTimeMs | Le temps en millisecondes qui doit s'écouler avant qu'un cache puisse être mis en mode panne. Ce laps de temps et les minimumConsecutiveFailures doivent être satisfaits avant que le circuit breaker ne ferme la connexion Redis. Par défaut, cette valeur est définie sur 10000 (10 secondes). |
||
| minimumConsecutiveFailures |
Nombre minimum d'échecs consécutifs de tentative de connexion avant qu'un cache puisse être défini en mode panne. Cette valeur et minimumFailureTimeMs doivent être satisfaits avant que le circuit breaker ne ferme la connexion Redis. Par défaut, cette valeur est définie sur 20 tentatives de connexion. |
||
| minimumConsecutiveFailuresResumeOutage |
Nombre minimum d'échecs consécutifs de tentative de connexion avant qu'un cache puisse être remis en mode panne. Lorsqu'une connexion est en mode panne et atteint la valeur retryWaitTimeMs, le circuit breaker autorise les tentatives de connexion au serveur Redis. Afin de permettre un test rapide de la connexion sans excès injustifié de tentatives de connexion, minimumConsecutiveFailuresResumeOutage est utilisé. Si minimumConsecutiveFailuresResumeOutage est atteint, la connexion est remise en mode panne, sans avoir à attendre que l'ensemble du cycle de la condition minimumFailureTimeMs et minimumConsecutiveFailures soit à nouveau satisfait. Par défaut, cette valeur est définie sur 2 tentatives de connexion. |
||
| cacheConfigs | |||
| cacheName | Nom du cache à configurer. Les paramètres de taille et de taille en mégaoctets sont obtenus à partir de la configuration DynaCache dans WebSphere Application Server. Le nom du cache defaultCacheConfig est réservé et spécifie les valeurs par défaut pour tous les caches. | ||
| localCache | |||
| Configurations localCache | activé | Permet à ce cache d'utiliser la mise en cache locale. | |
| maxInactivityWithRemote | Le temps en secondes durant lequel ce cache peut rester inactif dans son état local. Lorsque la mise en cache à distance est activée, ce paramètre impose une durée d'inactivité maximale autorisée pour ce cache avant d'être invalidé. Cette configuration facultative est utilisée pour avoir des délais d'attente plus courts lorsque le cache local agit comme une réplique/un cache proche du cache distant. Par défaut, cette valeur est définie sur 0 (désactivé). |
||
| maxTimeToLiveWithRemote | Le temps en secondes durant lequel ce cache peut rester valide. Lorsque la mise en cache à distance est activée, ce paramètre applique un délai d'attente maximal autorisé pour ce cache. Cette configuration facultative peut être utilisée pour spécifier des délais plus courts lorsque le cache local agit comme un cache proche du cache distant. Par défaut, cette valeur est définie sur 0 (désactivé). |
||
| maxTimeToLiveWithRemoteOutage | Le temps en secondes durant lequel ce cache peut rester valide lors d'une panne à distance. Lorsque le circuit breaker est activé et qu'un cache est en mode panne, ce paramètre est utilisé pour appliquer un nouveau délai d'attente sur le cache local. Un court délai d'attente est utilisé car les invalidations ne sont pas disponibles si Redis n'est pas opérationnel. Par défaut, il est défini sur 300 secondes. |
||
| remoteCache | |||
| Configurations remoteCache | activé | Permet à ce cache de s'appuyer sur l'utilisation de la mise en cache à distance. Par défaut, cette configuration est définie sur enabled lorsqu'une connexion Redis est configurée. |
|
| defaultTimeout | Normalement, les entrées de cache spécifient une durée de vie maximale (délai d'attente) en secondes lorsqu'elles sont créées. Toutefois, si aucun délai d'attente n'est spécifié par l'entrée de cache, le paramètre defaultTimeout est alors utilisé pour cette entrée de cache. Par défaut, la valeur du paramètre defaultTimeout est définie sur 172800 secondes (2 jours). Important: Redis doit être configuré avec un paramètre volatile-* less-recently-used (LRU). Pour plus d'informations, voir Utilisation de Redis dans un cache LRU dans la documentation Redis. |
||
| maximumTimeout | Normalement, les entrées de cache spécifient une durée de vie maximale (délai d'attente) en secondes lorsqu'elles sont créées. Toutefois, si aucun délai d'attente n'est spécifié par l'entrée de cache, le paramètre defaultTimeout est alors utilisé pour cette entrée de cache. Si defaultTimeout est réglé sur une valeur supérieure à maximumTimeout la valeur maximumTimeout est alors utilisée. Par défaut, la valeur du paramètre maximumTimeout est définie sur 604800 secondes (7 jours). |
||
Options de codec (compression) |
L'élément de configuration de codec sous remoteCache peut être utilisé pour modifier le codec binaire par défaut utilisé par Redis pour sérialiser les valeurs d'entrée de cache. Le cache HCL utilisera la méthode de compression LZ4 pour la compression.La compression est idéale pour les caches avec d'énormes entrées de cache (telles que baseCache), qui peuvent prendre plusieurs GC d'espace serveur Redis. Bien que la compression réduise la quantité de valeurs stockées et le trafic réseau, elle se fait au prix de la compression et de l'expansion des entrées. Cette opération est effectuée sur le serveur, ce qui peut entraîner des retards et augmenter l'utilisation du processeur. |
||
Directives de cache |
L'élément de nom de cache peut être utilisé pour activer les directives de cache. Elles ne sont activées pour baseCache que par défaut.Bien que le cache HCL autorise la mise en cache locale et/ou distante au niveau du cache, il est parfois préférable de sélectionner les caches utilisés au niveau de l'entrée de cache. Les entrées de cache pour les opérations de recherche peuvent devenir illimitées et avoir une réutilisation limitée (taux d'accès). Bien que la mise en cache au niveau local puisse être bénéfique, la mise en cache à distance peut être coûteuse, car elle ajoute une surcharge d'E/S, consomme une grande quantité de mémoire Redis et nécessite de fréquentes opérations de maintenance de la mémoire Redis. Lorsque les instructions d'un cache sont activées, peut cachespec.xml contenir les attributs suivants pour déterminer si la mise en cache locale ou distante est utilisée au niveau de l'entrée de cache :
|
||
Options de codec (compression)