Finish day 2
parent
f2542ecc1a
commit
008c3a1af7
|
@ -155,4 +155,35 @@ Find the failure modes: What could go wrong?
|
|||
**Step 3: Handling with redundancy**
|
||||
|
||||
* Timeout
|
||||
* Retransmit message
|
||||
* Retransmit message
|
||||
|
||||
#### Example with processes and caculations
|
||||
|
||||
A calculation is an abstract, so how can we talk generally about the failure modes.
|
||||
|
||||
**Step 1: Failure modes**
|
||||
|
||||
One failure mode
|
||||
|
||||
**Step 2: Detect, simplify, inject errors**
|
||||
|
||||
All failed acceptance tests will "PANIC" or "STOP".
|
||||
|
||||
**Step 3: Handling with redundancy**
|
||||
|
||||
There are three solutions:
|
||||
|
||||
1. Checkpoint restart
|
||||
* Do all the work incuding the acceptance test
|
||||
* Wait with the "side effects"
|
||||
* Store a checkpoint
|
||||
* Do the "side effects"
|
||||
2. Process pairs
|
||||
* Crash and let an another process take over
|
||||
3. Presistent processes
|
||||
|
||||
|
||||
## Transactions
|
||||
|
||||
A transaction is a design framework for Damage Confinement and Error Recovery.
|
||||
|
||||
|
|
Loading…
Reference in New Issue