TCC fault tolerance incude following point.
- omega can switch to another available alpha when sending message failed.
- if omega resend logic (different alpha) failed, omega can rollback local data automatically.
- alpha do resend logic (same omega) when ACK failed, if resend failed, dirty data can left in database, this will be handled by scanner.
- design transaction timeout mechanics, if scanner found event won't completed within expected time, sending componsate command to omega, it has different type compare with normal.