An online retail application experiences unpredictably variable workloads, resulting in sporadic bursts of concurrent connections to its relational database. The application runs on a fleet of instances which autoscale according to demand. Which is the most effective solution to manage these connection bursts while maintaining optimal database performance?
Configure a buffering layer with a message queue to manage incoming requests.
Scale the database by adding more read replicas to distribute the traffic.
Increase the database instance size to accommodate more connections.
Incorporate a managed database connection pooler to efficiently handle the surges in traffic.