Cloud-native application transactions
Cloud-native application transactions try to ensure data consistency and integrity, similar to a traditional transaction. Traditional transactions normally use the two-phase commit or XA protocol. The two-phase commit protocol ensures that transactional updates are committed in all databases or are fully rolled back in the case of a failure. It is widely supported by many databases. As its name implies, this protocol consists of two phases: the voting phase and the commit phase. In the voting phase, the transaction manager gets approval or rejection from the participating XA resources. In the commit phase, the transaction manager informs the participants about the result. If the result is positive, the entire transaction will be committed. Otherwise, it will be rolled back. This protocol is very reliable and guarantees data consistency. The drawback is that it locks resources and might lead to indefinite blocking. Therefore, it is not suitable...