Fail-Fast
Fail-Fast (sinngemäß „schneller Abbruch“) bezeichnet die Eigenschaft eines Systems, Fehler frühzeitig zu erkennen. Ein Fail-Fast-System ist so konzipiert…
Fail-Fast (sinngemäß „schneller Abbruch“) bezeichnet die Eigenschaft eines Systems, Fehler frühzeitig zu erkennen. Ein Fail-Fast-System ist so konzipiert, dass es an seinen Schnittstellen Fehler oder Zustände, die zu Fehlern führen, erkennt und aufzeigt. Üblicherweise beenden sich Fail-Fast-Systeme im Fehlerfall selbst und versuchen nicht, mit dem Fehler weiterzuarbeiten.
Fail-Fast-Systeme überprüfen oft nicht allein die Schnittstellen, sondern auch den Zustand eines Systems an verschiedenen Stellen, um Fehler frühzeitig zu erkennen. Dabei wird die Fehlerbehandlung an den Aufrufer des Systems weiterdelegiert – kann dieser es in einen sicheren Zustand versetzen, so spricht man von Fail-Safe.
Anwendung von Fail-Fast-Systemen
Fail-Fast-Systeme oder -Module werden dann gegenüber herkömmlichen Systemen bevorzugt, wenn das frühzeitige Erkennen, Aufzeigen und schlussendliche Behandeln von Fehlerzuständen gegenüber einer potentiell fehlerhaften Abarbeitung sinnvoll erscheint. Dies ist insbesondere dann der Fall, wenn Fehlerzustände so lange nicht offenkundig werden, bis sie zu Fehlern in anderen Modulen oder Systemen führen bzw. zu irreversiblen oder kostspieligen Schäden führen.
Bei der Erstellung von fehlertoleranten Systemen durch redundante Komponenten sollte jede einzelne Komponente fail-fast sein, um dem Gesamtsystem rechtzeitig Informationen zur Verfügung zu stellen, um den Fehler auszugleichen.
Fail-Fast-Systeme unterstützen das Auffinden von Fehlerursachen, weil derartige Systeme Fehler zeitnaher und mit exakteren Informationen liefern. In fehlertoleranten Systemen können Fehler unentdeckt bleiben, in Systemen, die weder fehlertolerant noch fail-fast sind, können diese zu späteren Zeitpunkten scheinbar unabhängige Probleme verursachen. Es kann aufwändig sein, diese auf den ursprünglichen Fehler zurückzuführen.
Beispiele
- In der Softwaretechnik ist ein Fail Fast Iterator ein Iterator, der einen Fehler meldet, sobald die Liste, über die er iteriert, während der Iteration verändert wird.
- Ein Rechenprogramm erkennt vor der Ausführung einer Division, dass der Divisor gleich Null ist und liefert eine Fehlermeldung zurück, anstatt eine Division durch Null durchzuführen, welche ein undefiniertes Ergebnis hätte.
Siehe auch
Weblinks
- Jim Gray: Why Do Computers Stop and What Can Be Done About It. (PDF; 924 kB) Tandem Computers, Juni 1985, S. 35, abgerufen am 29. Januar 2012 (englisch).
- Jim Shore: Fail Fast. (PDF; 123 kB) Martin Fowler, 2004, S. 21–25, abgerufen am 29. Januar 2012 (englisch).
- Fail Fast. Abgerufen am 29. Januar 2012 (englisch). – Fail Fast im Portland Pattern Repository
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.