Dans une base de données application Web axée sur, ce que l'utilisateur doit voir quand la base de données est indisponible?

StackOverflow https://stackoverflow.com/questions/1671663

Question

Si une application Web repose sur une base de données pour servir du contenu dynamique et que le contenu est indisponible pour une raison quelconque (serveur de base de données vers le bas, etc.), quelle est la méthode préférée pour gérer ce scénario?

  1. Rediriger le visiteur à une page d'erreur 404?
  2. Afficher la page de toute façon, mais inclure une sorte de message d'erreur dont le contenu serait autrement?
  3. Afficher une page correspondante qui a un contenu statique?
  4. Autre?

Je comprends que la journalisation d'erreur devrait se afficher ainsi que notifier le webmaster et / ou sysadmin. Je suis surtout intéressé par les pratiques exemplaires pour ce que l'utilisateur final doit voir dans cette situation.

Était-ce utile?

La solution

# 3 si vous pouvez (par exemple un instantané de contenu dynamique pris toutes les 20 minutes), mais le rendre clair que son contenu statique de

# 2 si vous ne pouvez pas, tant que l'erreur est lisible par l'homme et non un littéral réimprimer de la trace de la pile d'une exception à Java ou somesuch.

Autres conseils

Quoi que vous fassiez, NE PAS retourner une 404 - votre application peut ne fonctionne pas correctement, mais vous ne voulez pas donner l'impression que l'URL est incorrecte. En dehors de toute autre chose, cela pourrait avoir un impact négatif sur le référencement de votre site.

Si vous allez retourner un statut HTTP autre que 200, alors je vous recommande un 503 « Service non disponible » réponse. Ceci est plus représentatif d'une défaillance momentanée de l'application, plutôt que quelque chose qui est mal avec la la requête HTTP.

Je pense que cela dépend de la façon dont liée à la base de données du contenu de la page est. Par exemple, dans nos applications web, si la base de données est en baisse alors il n'y a pas de méthode d'authentification; notre seule station serait un écran d'erreur personnalisée à l'effet de « Nous allons avoir maintenant des problèmes; arrêtez plus tard.

; si le contenu dynamique est similaire à une citation du jour au-dessus d'un fichier essentiellement statique, d'un simple message d'erreur à la place du contenu; ou d'une omission de contenu dynamique tous ensemble serait approprié.

; cela dépend de quel service la page fournit, et si oui ou non il peut rien fournir des informations utiles sans le back-end.

Je pense que # 3 est probablement le meilleur, mais pas toujours possible. Si cela est impossible, une sorte de « difficultés techniques, S'il vous plaît stand by ... » pourrait être mieux (évidemment, vous pouvez modifier le libellé à quelque chose de mieux). Il suffit d'éviter l'impression en fait erreur: ERR_123 / SIGSEGV! (Ou quelque chose comme ça) en grosses lettres rouges. Il fait les utilisateurs pensent que votre application est cassée et ils ne peuvent pas revenir.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top