What should a SysOps administrator do to reduce the downtime of the application during failover?
Create an RDS for MariaDB DB cluster that has multiple writer instances. Configure the application to retry failed queries on another primary node during maintenance events.
Configure the RDS maintenance window settings to pool connections while a failover is in process.
Configure an Amazon ElastiCache write-through cache for the database. Configure the application to connect to the cache instead of directly to the database.
Create an RDS proxy that is associated with the database. Configure the application to connect to the proxy instead of directly to the database.
Explanations:
While using an RDS for MariaDB DB cluster with multiple writer instances may allow for horizontal scaling, Amazon RDS for MariaDB currently supports a single writable instance in a Multi-AZ configuration. This option does not address the failover downtime directly as the application would still experience the same downtime during failover events.
Configuring the RDS maintenance window to pool connections does not reduce downtime during a failover. During failover, the database becomes temporarily unavailable, and pooling connections does not help if the database is not accessible.
Implementing an Amazon ElastiCache write-through cache might improve read performance, but it does not directly solve the problem of downtime during database failovers, especially for write operations. The application would still be dependent on the RDS database availability.
Creating an RDS proxy provides a connection management layer that can handle failover events more gracefully. The application connects to the proxy, which can automatically redirect connections to the new primary instance during failover, significantly reducing downtime and improving application availability.