Please enable JavaScript.
Coggle requires JavaScript to display documents.
Microservices (Design considerations (Transaction (ACID (Meaning (Atomic…
Microservices
Design considerations
-
-
Transaction
Transaction boundaries
Bottom Up Approach
-
-
Break down a monolithic DB into smaller DB and work back up by creating microservice for those small DBs
-
ACID
Meaning
-
-
Isolated
Guarantee visibility rules are well defined so that no transaction can read data that is in incorrect state
Durable
Once save, guaranteed to be in the datastore until modified
Solutions
Identify areas where ACID transaction is truely needed, and wrap microservice are it
-
Problems
Difficult, if not impossible, in distributed architecture)
-
-
-
-
First asynchronous, then switch to synchronous when you find that you really need it
-
-
Logging
Tips
-
-
Tracing
Create a unique token called Trace and use the token in all the logging in the call stack by passing the token to the down stream services
-
-
-
Costs
-
Solutions
-
-
Carefully design bounded context to reduce remote service call, which reduces distribution tax (i.e. latency)
Only use a small set of technologies, and add a new one if it is necessary
-
Continuous Deliver
As microservice architecture has many moving parts, an automated deployment process is a must
-
-