Whether Server B processed the message correctly.
Whether the network cable is physically connected.
Whether Server A has enough memory to send the message.
Whether Server A's acknowledgment of Server B's acknowledgment was received.
False
True
It does not guarantee data consistency across nodes.
It can only be used with NoSQL databases, not PostgreSQL.
It requires an infinite number of acknowledgment messages to work.
It is 'blocking' and can cause the entire system to freeze if the coordinator fails.
Consistency (C) and Durability (D)
Atomicity (A) and Isolation (I)
Consistency (C) and Availability (A)
Performance and Scalability
eventually
never
instantly
local
blocking
ACID
global
Compensating Transactions
A Database Savepoint
A System Reboot
A Two-Phase Commit
Outbox Pattern
Orchestration
Choreography
Idempotency
It eliminates the risk of a single point of failure.
The entire business process logic is centralized and easier to monitor.
It requires fewer network messages to complete the process.
Individual services are more tightly coupled to each other.
It automatically creates compensating transactions for every action.
It guarantees that a business data update and the sending of a corresponding event happen atomically.
It prevents the database from running out of disk space.
It decides the correct order of steps in a Saga Orchestration.
To ensure each step of the Saga is idempotent.
To serve as the primary key for the customer's database record.
To link all log messages and actions belonging to a single business transaction across multiple services.
To encrypt communications between different services.
All done? Get your grade