What do you mean by Tactics?
In the context of software architecture and quality attributes, tactics are design decisions or architectural approaches used to achieve particular quality attribute goals, such as performance, availability, security, or modifiability.
Tactics are reusable solutions that influence the response of a system to a stimulus affecting a quality attribute.
Each quality attribute (like Availability) has a set of tactics that either help to achieve, maintain, or recover that attribute.
What are Availability Tactics?
Availability refers to the readiness of the system to provide its services when needed. Availability tactics aim to reduce system downtime (both planned and unplanned).
Availability tactics are broadly categorized into two:
-
Fault Detection Tactics
-
Fault Recovery Tactics
1. Fault Detection Tactics
These help in identifying the presence of a fault as early as possible.
Tactic | Description |
---|---|
Ping/Echo | Periodic message exchanges to check if a component is responsive. |
Heartbeat | Regular signals sent from one component to another to indicate it's alive. |
Exceptions | Use of try/catch blocks to detect faults during execution. |
Monitoring | Continuously observe metrics like CPU usage, latency, etc., to detect anomalies. |
2. Fault Recovery Tactics
These help in restoring the system to normal operation after a fault has occurred.
They are further classified into:
A. Preparation and Repair
Tactic | Description |
---|---|
Retry | Automatically retry failed operations. |
Exception Handling | Gracefully handle exceptions without crashing. |
Checkpoint/Restart | Save system state periodically and resume from last known good state. |
State Repair | Correct corrupted data to bring it to a consistent state. |
B. Reintroduction
Tactic | Description |
---|---|
Reinitialize | Restart components or services. |
Shadowing | Maintain a shadow/standby component that can take over. |
C. Redundancy
Tactic | Description |
---|---|
Active Redundancy | Multiple components run in parallel; if one fails, others take over instantly. |
Passive Redundancy | Standby component activated only when the active one fails. |
Spare Components | Idle components available to replace faulty ones. |
📘 Diagram: Availability Tactics
+----------------------+
| Availability Tactics |
+----------------------+
|
--------------------------------------------------
| |
+-------------------+ +--------------------------+
| Fault Detection | | Fault Recovery |
+-------------------+ +--------------------------+
| - Ping/Echo | | A. Preparation & Repair |
| - Heartbeat | | - Retry |
| - Exceptions | | - Exception Handling |
| - Monitoring | | - Checkpoint/Restart |
| - State Repair |
|
| B. Reintroduction |
| - Reinitialize |
| - Shadowing |
|
| C. Redundancy |
| - Active |
| - Passive |
| - Spare Components |
If you'd like, I can generate a neat graphical version of this diagram. Just let me know!
No comments:
Post a Comment