This chapter describes how to program fault-tolerance using Erlang. The reading describes strategies for programming fault-tolerance, supervision hierarchies, and well-behaved functions.
A fault-tolerant system should be organized into a hierarchy of tasks. The highest level tasks should run the application according to the software design specification. If this task cannot be performed then a simpler lower level task should be performed. I like the strategies mentioned in this chapter and I am thinking it will provide robust and fault tolerable system. I like the idea of having supervision hierarchies. The tree representation is a nice way of distributing error recovery responsibilities to nodes, so that each node can monitor the errors in its descendent nodes.
Described error recovery mechanism looks good but it may be difficult to identify and define the errors in order to write the error recovery mechanism, I am thinking it may be nice idea if we can write some generic error recovery mechanisms and let the application have some intelligence to see which type of error recovery that It can apply to and as the application more used then programmers can better guess the error styles and errors so outer layer app should be able to pick up these added error recoveries and use them. Well-behaved functions (WBF) are a way of determining what an error is(probably this should build that intelligence in choosing the right error category like I mentioned above). WBF are functions that should not generate an exception unless an error is encountered. So this allows the programmer to interpret any exception generated by a WBF as an error. I like the rules specified to when to raise the exceptions.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment