Qu’est-ce que la persistance de session ?
La persistance de session consiste à diriger les requêtes d’un client vers le même serveur web ou applicatif backend pendant toute la durée d’une « session », ou le temps nécessaire à l’exécution 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 services informatiques gèrent ces volumes importants en regroupant les serveurs dans ce que l’on appelle souvent une ferme de serveurs. Un répartiteur de charge est placé devant le groupe de serveurs et dirige le trafic vers les différents serveurs de manière à optimiser l’efficacité.
Si une utilisatrice navigue sur votre site web pendant cinq minutes, elle récupère probablement des informations auprès de plusieurs serveurs back-end. Le fait de ne pas accéder systématiquement au même serveur peut poser problème si le navigateur web ou le serveur back-end tente d’améliorer l’expérience de navigation en stockant des informations permettant d’accélérer l’action suivante de l’utilisatrice. Dans ce cas, il est important, voire impératif, que toutes ses requêtes soient envoyées au même serveur.
Pour améliorer les performances, un serveur backend peut mettre en cache les données demandées par un utilisateur, ainsi que précharger des informations supplémentaires dont il pense que l’utilisateur pourrait avoir besoin. Souvent, ce qui apparaît à l’utilisateur comme une requête unique, par exemple le téléchargement d’un document volumineux, est en réalité décomposé et transmis entre le client et le serveur sous la forme de plusieurs échanges requête-réponse. Pour recevoir les informations demandées de la manière la plus efficace, l’utilisateur doit accéder au serveur qui les a déjà mises en cache.
Dans d’autres cas, un utilisateur peut effectuer une transaction nécessitant plusieurs étapes, comme remplir un formulaire, acheter un produit ou mettre à niveau son compte. À mesure que le client et le serveur échangent des données, ils doivent stocker des informations sur l’état de la session (appelées contexte) afin que la transaction se déroule correctement. Dans ce cas, la persistance de session facilite grandement la réussite des transactions.
Un équilibreur de charge ou un contrôleur de mise à disposition d’applications (ADC) est placé devant le groupe de serveurs et met en œuvre la logique qui associe une session utilisateur à un serveur spécifique aussi longtemps que nécessaire.
Comment NGINX Plus peut-il vous aider ?
NGINX Plus et NGINX sont les meilleures solutions d’équilibrage de charge du marché, utilisées par des sites web à fort trafic tels que Dropbox, Netflix et Zynga. Plus de 350 millions de sites web dans le monde font confiance à NGINX Plus et NGINX Open Source pour diffuser leur contenu rapidement, de manière fiable et sécurisée.
En tant que répartiteur de charge logiciel, NGINX Plus est nettement moins coûteux que les solutions matérielles offrant des fonctionnalités similaires. NGINX gère nativement la persistance de session de plusieurs façons, notamment à l’aide de cookies et de routes persistantes.

