La persistance des sessions consiste à diriger les requêtes d’un client vers le même back-end web ou vers l’application pour la durée d’une « session » ou le temps nécessaire à l’accomplissement d’une tâche ou d’une transaction.
Les sites web à fort trafic doivent prendre en charge des centaines de milliers, voire des millions, d’utilisateurs de manière rapide et fiable. Les organisations informatiques prennent en charge ces volumes importants en regroupant les serveurs dans ce que l’on appelle souvent une batterie de serveurs. Un équilibreur de charge est placé devant le groupe de serveurs et dirige le trafic vers les serveurs individuels de manière à maximiser l’efficacité.
Si un utilisateur navigue sur votre site web pendant cinq minutes, il est probable qu’il récupère des informations auprès de plusieurs serveurs back-end. Le fait de ne pas accéder au même serveur à chaque fois peut poser des problèmes si le navigateur web ou le serveur back-end tente d’améliorer l’expérience web en stockant des informations qui permettent à l’utilisateur d’agir plus rapidement. Dans ce cas, il est important - pour ne pas dire impératif - que toutes les requêtes de l’utilisateur soient envoyées au même serveur.
Pour améliorer les performances, un serveur back-end peut mettre en cache les données demandées par un utilisateur, ainsi que les informations supplémentaires qu’il pense que l’utilisateur pourrait demander. Souvent, ce qui semble être une requête unique pour l’utilisateur, comme le téléchargement d’un document volumineux, est en fait décomposé et transmis entre le client et le serveur sous la forme de plusieurs transactions requête-réponse. La manière la plus efficace pour l’utilisateur de recevoir les informations demandées est d’accéder au serveur qui les a déjà mises en cache.
Dans d’autres cas, un utilisateur peut s’engager dans une transaction qui nécessite plusieurs étapes, comme remplir un formulaire, acheter un produit ou mettre à jour son compte. Lorsque le client et le serveur échangent des données, ils doivent stocker des informations sur l’état de la session (appelées contexte) pour que la transaction se déroule sans heurts. Dans ce cas, la persistance de la session facilite grandement le bon déroulement des transactions.
Un équilibreur de charge ou un contrôleur de livraison d’applications (ADC) se trouve devant le groupe de serveurs et met en œuvre la logique qui lie une session d’utilisateur à un serveur spécifique aussi longtemps que nécessaire.
NGINX Plus et NGINX sont les meilleures solutions d’équilibrage de charge de leur catégorie, utilisées par des sites web à fort trafic tels que Dropbox, Netflix et Zynga. Plus de 350 millions de sites web dans le monde s’appuient sur NGINX Plus et NGINX Open Source pour diffuser leur contenu de manière rapide, fiable et sécurisée.
En tant qu’équilibreur de charge logiciel, NGINX Plus est considérablement moins cher que les solutions matérielles ayant des capacités similaires. NGINX gère nativement la persistance des sessions de plusieurs façons, notamment en utilisant des cookies et des sticky routes.