In einer Datenbank gefahrene Web-App, was soll der Benutzer sehen, wenn die Datenbank nicht verfügbar ist?

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

Frage

Wenn eine Web-Anwendung basiert auf einer Datenbank mit dynamischem Inhalt zu dienen und dass der Inhalt ist nicht verfügbar, für welche Gründe auch immer (Datenbankserver herunter, etc.), was zum Umgang mit diesem Szenario ist die bevorzugte Methode?

  1. Schalten Sie die Besucher auf eine benutzerdefinierte 404-Seite?
  2. Zeigen Sie die Seite trotzdem aber eine Art Fehlermeldung enthalten, in dem der Inhalt würde anders sein?
  3. Zeigen Sie eine ähnliche Seite, die statische Inhalte hat?
  4. Andere?

Ich verstehe, dass die richtige Fehlerprotokollierung sowie die Benachrichtigung den Webmaster und / oder Sysadmin auftreten sollte. Ich bin vor allem daran interessiert in Best Practices für das, was der Endverbraucher in dieser Situation sehen soll.

War es hilfreich?

Lösung

# 3, wenn Sie können (zB ein Snapshot von dynamischen Inhalten alle 20 Minuten genommen), aber es kristallklar machen, dass es statische Inhalte von

# 2, wenn Sie nicht können, solange der Fehler für Menschen lesbaren und nicht eine wörtliche Stack-Trace von Java Wiederdruck einer Ausnahme der ist, etc. zu jagen.

Andere Tipps

Was auch immer Sie tun, NICHT eine 404 - Ihre Anwendung kann nicht richtig funktionieren, aber Sie wollen nicht den Eindruck erwecken, dass die URL falsch ist. Abgesehen von allem anderen, dies einen negativen Einfluss auf Ihre Website SEO haben könnte.

Wenn Sie vorhaben, einige HTTP anderen Status als 200 zurück, dann würde ich eine 503 „Service Unavailable“ Antwort empfehlen. Das ist mehr, der eine vorübergehende Störung mit der Anwendung, sondern als etwas, mit dem der HTTP-Anforderung falsch zu sein.

Ich denke, das hängt davon ab, wie man die Datenbank gebunden den Inhalt der gesamten Seite. Zum Beispiel in unseren Web-Anwendungen, wenn die Datenbank ist nach unten, dann gibt es keine Methode der Authentifizierung; unsere einzige Ausweg wäre eine benutzerdefinierte Fehlerbild auf die Wirkung von ‚sein Wir sind jetzt Probleme haben; stoppen, indem Sie es später noch einmal.‘

Jetzt; wenn der dynamische Inhalt ähnelt ein Zitat des Tages auf eine meist statische Datei, dann eine einfache Fehlermeldung anstelle von Inhalten; oder Weglassen von dynamischen Inhalten alle zusammen wäre angemessen.

So; es hängt davon ab, welchen Dienst die Seite stellt, und ob es nicht etwas Nützliches ohne das Backend zur Verfügung stellen kann.

Ich denke, # 3 ist wahrscheinlich die beste, aber nicht immer machbar. Wenn das nicht möglich ist, eine Art von „Technische Schwierigkeiten, bitte stand by ...“ könnte am besten sein (natürlich können Sie die Benennung, um etwas besser aus). Nur vermeiden tatsächlich ERROR Druck: ERR_123 / SIGSEGV! (Oder so ähnlich) in großen roten Buchstaben. Es macht Anwender denken, dass Ihre App ist gebrochen und sie können nicht zurück.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top