Software patterns have revolutionized the way developer’s and architects think about how software is designed, built and documented. This new title in Wiley’s prestigious Series in Software Design Patterns presents proven techniques to achieve patterns for fault tolerant software. This is a key reference for experts seeking to select a technique appropriate for a given system. Readers are guided from concepts and terminology, through common principles and methods, to advanced techniques and practices in the development of software systems. References will provide access points to the key literature, including descriptions of exemplar applications of each technique. Organized into a collection of software techniques, specific techniques can be easily found with sufficient detail to allow appropriate choices for the system being designed.
The book is a nice introduction to fault-tolerant software design. I liked the concepts introduced and will think about some of them when applicable.
For example, the book suggests using a pattern called 'fault-correlation,' which tries to determine the correct mitigation strategy based on several factors that make up the signature of a fault. Given that signature, one can 'categorize' a fault and apply pre-defined mitigation steps. I've never used a technique like this, and I am unsure whether I could have come up with it myself.
I did not like the pattern style of the book very much. There are so many patterns, and I felt that not enough consideration was given to each.
The number of examples per pattern got fewer as the book progressed
Some patterns make almost no sense on their own and are tightly bound to others. E.g., there is a complete pattern called 'Reassess Overload Decision,' which just advises to reassess a decision made in another pattern. Is that really a pattern on it's own?
I didn't read the book until the end, so maybe it gets better in the last parts.
This is a good overview for someone who wants to be informed about the basics of FT software. It is not technical enough to be a handbook for actual architecture and implementation of these systems.