Pour garantir la stabilité des applications avec état, les équilibrages de charge implémentent la persistance qui dirige toutes les connexions associées au même serveur. Différents types de persistance sont pris en charge pour répondre à différents types de besoins d'application.
Certaines applications conservent l'état du serveur, par exemple, les paniers d'achat. Cet état peut être par client et identifié par l'adresse IP du client ou par la session HTTP. Les applications peuvent accéder à cet état ou le modifier lors du traitement des connexions suivantes liées à partir du même client ou de la même session HTTP.
Le profil de persistance de l'adresse IP source effectue le suivi des sessions en fonction de l'adresse IP source. Lorsqu'un client demande une connexion à un serveur virtuel prenant en charge la persistance de l'adresse source, l'équilibreur de charge vérifie si ce client s'est précédemment connecté, et si c'est le cas, renvoie le client au même serveur. Si ce n'est pas le cas, l'équilibreur de charge sélectionne le membre du pool de serveurs en fonction de l'algorithme d'équilibrage de charge du pool. Le profil de persistance de l'adresse IP source est utilisé par les serveurs virtuels de couche 4 et de couche 7.
Si la persistance de la règle, la persistance des cookies et le serveur persistant sont tous configurés, l'équilibreur de charge suit la priorité de persistance de la persistance de règles > persistance des cookies > serveur persistant.
- Insertion de cookie : l'équilibreur de charge insère son propre cookie avec des informations sur le membre du pool (codées ou non) dans la réponse du serveur au client. Les cookies reçus sont ensuite transmis par le client dans les demandes suivantes (cookie NSX inclus) et l'équilibreur de charge utilise ces informations pour permettre la persistance du membre du pool. Le cookie NSX est supprimé de la demande du client lorsqu'il est envoyé au membre du pool.
- Préfixe de cookie : l'équilibreur de charge ajoute les informations sur le membre du pool (codées ou non) dans la réponse du serveur au client. Le cookie HTTP reçu est ensuite transmis par le client dans les demandes suivantes (avec les informations ajoutées en préfixe NSX) et l'équilibreur de charge utilise ces informations pour permettre la persistance du membre du pool. Le préfixe de cookie NSX est supprimé de la demande du client lorsqu'il est envoyé au membre du pool.
- Réécriture de cookie : l'équilibreur de charge remplace la valeur du cookie de serveur par des informations sur le membre du pool (codées ou non) dans la réponse du serveur au client. Le cookie HTTP reçu est ensuite transmis par le client dans les demandes suivantes (avec les informations ajoutées en préfixe NSX) et l'équilibreur de charge utilise ces informations pour permettre la persistance du membre du pool. Le cookie de serveur d'origine est remplacé dans la demande du client lorsqu'il est envoyé au membre du pool.
Le profil de persistance générique prend en charge la persistance basée sur l'en-tête, le cookie ou l'URL HTTP dans la demande HTTP. Par conséquent, il prend en charge la persistance de session d'application lorsque l'ID de session fait partie de l'URL. Ce profil n'est pas associé directement à un serveur virtuel. Spécifiez ce profil lorsque vous configurez une règle d'équilibreur de charge pour le transfert de la demande et la réécriture de la réponse.