Installation

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » https://pecl.php.net/package/tokyo_tyrant

Options de configuration

  • --with-tokyo-tyrant[=DIR] DIR est le chemin vers l'installation de Tokyo Tyrant
  • --with-tokyo-cabinet-dir[=DIR] DIR est le chemin vers l'installation de Tokyo Cabinet
  • --disable-tokyo-tyrant-session Désactive le support du gestionnaire de session Tokyo Tyrant

Activation de l'extension

L'extension peut être activée en ajoutant extension=tokyo_tyrant.so au fichier de configuration INI.

Exécution de Tokyo Tyrant pour le gestionnaire de session

ttserver -port 2000 -ext /path/to/expire.lua -extpc expire 30.0 '/tmp/sessions.tct#idx=ts:dec'

Note: Le fichier expire.lua est inclus dans les sources de la distribution de l'extension tokyo_tyrant.

Configuration du gestionnaire de session

  • tokyo_tyrant.session_salt="randomlongstring"
  • session.save_handler=tokyo_tyrant
  • session.save_path="tcp://hostname1:2000,tcp://hostname2:2000"

Note: Il est important de s'assurer que tokyo_tyrant.session_salt est identique sur tous les serveurs.

Comment cela fonctionne-t-il ?

Le gestionnaire de session crée un identifiant de session comme ceci : 8b0e27a823fa4a6cf7246945b82c1d51-a5eadbbed1f2075952900628456bfd6830541629-0-5460

Voici la signification, de gauche à droite :

  • Session id - Identifiant de session
  • Checksum - Somme de contrôle du salt de session, de l'identifiant de session, de l'identifiant du nœud et de la clé primaire
  • Node id - L'identifiant du nœud en relation avec la session
  • Primary key - La clé primaire de la ligne stockant la session

La somme de contrôle contient la somme SHA1 de l'identifiant du nœud, de la clé primaire, de l'identifiant de session ; le salt est connu uniquement côté serveur. Ceci permet de faire correspondre rapidement l'identifiant de session et le nœud ansi que la clé primaire sans avoir besoin de faire des recherches supplémentaires. Lors de la regénération de l'identifiant de session, seules les parties 1 et 2 sont modifiées, le lien avec le nœud et la clé primaire reste constant.

Lors d'un échec du nœud, les configurations INI tokyo_tyrant.allow_failover, tokyo_tyrant.fail_threshold et tokyo_tyrant.health_check_divisor contrôlent le comportement de l'extension. Si l'échec est autorisée, le gestionnaire de session liera la session à un nœud valide et créera une nouvelle session vide.