Fault-tolerant Architecture

 

 

Replication Manager

Database

Servers

Clients

 

Fault-Tolerant Design Features

Replication

Fault Detection

Fail Over

Recovery

Checkpointing

 

Scenarios

From the diagram, we see 4 points of failure:

  1. Client sends a request; Server does not receive it
  2. Client sends a request; Server processes the request and forwards it to the database; Database does not receive it
  3. Client sends a request, Server processes the request and forwards it to the Database. The Server does not receive acknowledgement after the Database has processed it
  4. Everything works fine except the Client does not get the server's response.

Questions to be Answered

  1. Since our servers are stateless, we don't have checkpointing. If we are doing passive replication, do we require all the clients to only talk to the primary server?
  2. Non-idempotent database interactions are equipped with transaction IDs in the MySQL Database. We need to figure out how exactly we can do it in the MySQL Database.