Difference between revisions of "Architecture Tactics"
From Suhrid.net Wiki
Jump to navigationJump to searchLine 18: | Line 18: | ||
== Fault Detection == | == Fault Detection == | ||
+ | |||
+ | === Ping/Echo === | ||
+ | |||
+ | * One component issues a ping to a component to be checked and expects to receive back an echo within a predefined time. | ||
+ | * Response time allows performance to be assessed. | ||
+ | * If bandwidth consumption of pings is an issue, then the ping/echo detectors can be organized in a hierarchy. | ||
+ | ** Low-level detector pings low level processes and higher level fault detectors ping lower level ones. | ||
+ | |||
+ | === Heartbeat === | ||
+ | |||
+ | * One component emits a heartbeat message periodically and another component listens for it. | ||
+ | * Absence of heartbeat means originating component has failed. | ||
+ | * Heartbeat messages can be combined with useful data. | ||
+ | |||
+ | === Exceptions === | ||
+ | |||
+ | * Exceptions encountered during an exception. | ||
+ | * Exception handler is invoked which typically executes in the same process that introduced the exception. |
Revision as of 05:22, 28 March 2012
Contents
Intro
- How can we design an architecture that will achieve the desired quality attributes ?
- Sources of architecture
- Theft: From previous systems, literature
- Method: Systematic and conscious, derived from requirements via transformations and heuristics.
- Intuition: Ability to conceive without conscious reasoning. Increased reliance on intuition increases the risk.
- Ratio of usage of above three methods varies according to architects experience and novelty.
- What is a tactic ? - A tactic is a design decision that influences the control of a quality attribute response.
- A collection of tactics is an architectural strategy.
- Each tactic is a design option for the architect.
Availability Tactics
- All approaches to maintaining availability involve some type of redundancy, some type of health monitoring and some type of recovery when a failure is detected.
- Availability tactics involve- Fault detection, fault recovery and fault prevention.
Fault Detection
Ping/Echo
- One component issues a ping to a component to be checked and expects to receive back an echo within a predefined time.
- Response time allows performance to be assessed.
- If bandwidth consumption of pings is an issue, then the ping/echo detectors can be organized in a hierarchy.
- Low-level detector pings low level processes and higher level fault detectors ping lower level ones.
Heartbeat
- One component emits a heartbeat message periodically and another component listens for it.
- Absence of heartbeat means originating component has failed.
- Heartbeat messages can be combined with useful data.
Exceptions
- Exceptions encountered during an exception.
- Exception handler is invoked which typically executes in the same process that introduced the exception.