Wednesday, March 2, 2022

Book reading: Rush to read | Chris Richardson - Microservices patterns - With example in Java 2018

Page 128 | 4.3.2 Countermeasure for handling the lack of isolation

 

The countermeasures described by this paper are as follows:

 Semantic lock—An application-level lock.

 Commutative updates—Design update operations to be executable in any order.

 Pessimistic view—Reorder the steps of a saga to minimize business risk.

 Reread value—Prevent dirty writes by rereading data to verify that it’s unchanged

before overwriting it.

 Version file—Record the updates to a record so that they can be reordered.

 By value—Use each request’s business risk to dynamically select the concurrency mechanism.

Later in this section, I describe each of these countermeasures, but first I want to introduce some terminology for describing the structure of a saga that’s useful when discussing countermeasures.

Google those terms, and see if I can quickly learn from Google: Semantic lock, Communicative updates, Reread value, version file, by value

  1. Semantic lock - an application-level lock
  2. Communicative updates - design update operations to be executed in any order. 
  3. Pessimistic view - Reorder the steps of a saga to minimize business risk
  4. Reread value - Prevent dirty writes by rereading data to verify that it's unchanged before overwriting it
  5. Version file - Record the updates to a record so that they can be reordered. 
  6. By value - Use each request's business risk to dynamically select the concurrency mechanism. 

No comments:

Post a Comment