web-dev-qa-db-fra.com

Comment faire des mises à jour de site en direct sans affecter les utilisateurs?

Mon entreprise a un site Web de commerce électronique pour lequel je ne cesse de le mettre à jour.

Le problème, c’est que chaque fois que j’applique des éléments sur le site actif, tels que la page de contrôle de l’utilisateur, le pool d’applications est recyclé et le site Web recompilé, et les clients déjà présents sur le site subissent des retards et/ou constatent des erreurs sur le site.

Comment puis-je prévenir de telles expériences utilisateur et/ou éventuellement perdre des clients? J'utilise C # et IIS 7.

1
Superman Coding

J'utilise un équilibrage de charge pour éviter les erreurs et maintenir le site en état de marche pendant les mises à jour. Pour que cela fonctionne, vous avez besoin d'au moins deux serveurs derrière un équilibreur de charge qui envoie le trafic à n'importe quel serveur actif. Ma procédure pour mettre à jour mes sites est la suivante:

  1. Dites à "Serveur A" de commencer à servir une page d'erreur à l'URL penchée par l'équilibreur de charge. Cela indique à l'équilibreur de charge d'arrêter d'envoyer du trafic à ce serveur.
  2. Attendez environ 30 secondes jusqu'à ce que le trafic cesse de frapper le serveur.
  3. Mettez à jour le code sur ce serveur.
  4. Dites au serveur de ne plus servir une page d'erreur à l'URL du ping.
  5. Attendez que ce serveur reçoive à nouveau du trafic.
  6. Répétez les étapes 1 à 5 avec "Serveur B".
0
  1. Ne déployez pas lorsque le site est en ligne. Vous devez supprimer le site afin qu'aucun utilisateur ne soit actif au moment du déploiement. Si votre site est très actif, il est généralement recommandé de prévenir à l'avance. En outre, lorsque le site est en panne, assurez-vous de disposer d'un avis indiquant pourquoi le site est en panne et quand il est prévu qu'il soit restauré.

  2. Ne déployez pas pendant les périodes actives d'utilisation du site. Les déploiements doivent avoir lieu tard dans la nuit lorsque l'utilisation du site est minimale. Personne n'aime travailler après les heures de travail, mais cela fait partie de la procédure de déploiement du code.

0
John Conde

Spécifique à votre environnement IIS:

Vous pouvez envisager de créer un nouveau pool d’applications pour vos modifications, comme couvert ici :

L'élément contient les paramètres de configuration pour tous les pools d'applications exécutés sur votre serveur IIS (Internet Information Services) 7. Un pool d'applications définit un groupe d'un ou de plusieurs processus de travail, configurés avec des paramètres communs servant les demandes adressées à une ou plusieurs applications affectées à ce pool d'applications. Les pools d'applications permettant à un ensemble d'applications Web de partager un ou plusieurs processus de travail configurés de manière similaire, ils constituent un moyen pratique d'isoler un ensemble d'applications Web des autres applications Web sur l'ordinateur serveur. Les limites de processus séparent chaque processus de travail; par conséquent, les problèmes d'applications dans un pool d'applications n'affectent pas les sites Web ni les applications d'autres pools d'applications. Les pools d'applications augmentent considérablement la fiabilité et la facilité de gestion de votre infrastructure Web.

Et supprimez ultérieurement le pool d'applications ancien pour augmenter les performances du serveur.

0
dan