1.0 |
|
Introduction: Sharing Data |
2.0 |
|
Why Shared Data Becomes More Difficult With SOA |
|
2.1 |
|
Data Consistency and Business Outcomes |
2.2 |
|
What We Know About Consistent Data and Consistent Outcomes |
|
3.0 |
|
Why Data Consistency Is a Problem for Distributed Systems |
|
3.1 |
|
CAP Theorem |
3.2 |
|
Definitions of Consistency Aren't Consistent |
3.3 |
|
Boundaries |
3.4 |
|
Client Versus Server |
|
4.0 |
|
Data Consistency Models |
|
4.1 |
|
ACID |
4.2 |
|
Eventual Consistency |
|
5.0 |
|
Likelihood of Error and Cost of Repair |
|
5.1 |
|
Questions of ACID Versus Eventual Consistency |
|
6.0 |
|
General Recommendations for Data Consistency Uses |
|
6.1 |
|
Use ACID Transactions When There's a Reference Copy of the Data |
6.2 |
|
Use Mediated Eventual Consistency to Manage Distributed, Low-Volatility Data, Such as Master Data |
6.3 |
|
Build Explicit Consistency Into the Processes When Managing Complex, Long-Running Interactions |
6.4 |
|
Build Services to Tolerate Repetition |
|
7.0 |
|
Recommendations |
|
7.1 |
|
Build Explicit Consistency Assumptions Into Application Requirements |
7.2 |
|
Identify Information Boundaries, Particularly Where Replication Occurs |
7.3 |
|
Use Information Flow Models to Map Consistency Requirements |
7.4 |
|
Build Defensive Compensation Techniques Into Services |
|